{
  "name": "fortios",
  "displayName": "Fortios",
  "version": "0.0.6",
  "description": "A Pulumi package for creating and managing Fortios resources",
  "keywords": [
    "pulumi",
    "fortios",
    "category/cloud"
  ],
  "homepage": "https://github.com/pulumiverse/pulumi-fortios",
  "license": "Apache-2.0",
  "attribution": "This Pulumi package is based on the [`fortios` Terraform Provider](https://github.com/fortinetdev/terraform-provider-fortios).",
  "repository": "https://github.com/pulumiverse/pulumi-fortios",
  "logoUrl": "https://raw.githubusercontent.com/pulumiverse/pulumi-fortios/main/docs/fortios.png",
  "pluginDownloadURL": "github://api.github.com/pulumiverse/pulumi-fortios",
  "publisher": "pulumiverse",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "packageReferences": {
        "Pulumi": "3.*"
      },
      "compatibility": "tfbridge20",
      "rootNamespace": "Pulumiverse"
    },
    "go": {
      "importBasePath": "github.com/pulumiverse/pulumi-fortios/sdk/go/fortios",
      "generateResourceContainerTypes": true,
      "generateExtraInputTypes": true
    },
    "java": {
      "basePackage": "com.pulumiverse",
      "buildFiles": "",
      "gradleNexusPublishPluginVersion": "",
      "gradleTest": ""
    },
    "nodejs": {
      "packageName": "@pulumiverse/fortios",
      "packageDescription": "A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/fortinetdev/terraform-provider-fortios)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-fortios` repo](https://github.com/pulumiverse/pulumi-fortios/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-fortios` repo](https://github.com/fortinetdev/terraform-provider-fortios/issues).",
      "dependencies": {
        "@pulumi/pulumi": "^3.0.0"
      },
      "devDependencies": {
        "@types/mime": "^2.0.0",
        "@types/node": "^10.0.0"
      },
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true
    },
    "python": {
      "packageName": "pulumiverse_fortios",
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0"
      },
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/fortinetdev/terraform-provider-fortios)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-fortios` repo](https://github.com/pulumiverse/pulumi-fortios/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-fortios` repo](https://github.com/fortinetdev/terraform-provider-fortios/issues).",
      "compatibility": "tfbridge20",
      "pyproject": {}
    }
  },
  "config": {
    "variables": {
      "cabundlecontent": {
        "type": "string",
        "description": "CA Bundle file content\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_CABUNDLECONTENT"
          ]
        }
      },
      "cabundlefile": {
        "type": "string",
        "description": "CA Bundle file\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_CABUNDLE"
          ]
        }
      },
      "cacert": {
        "type": "string",
        "description": "CA certtificate(Optional)\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_CACERT"
          ]
        }
      },
      "clientcert": {
        "type": "string",
        "description": "User certificate\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_CLIENTCERT"
          ]
        }
      },
      "clientkey": {
        "type": "string",
        "description": "User private key\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_CLIENTKEY"
          ]
        },
        "secret": true
      },
      "fmgCabundlefile": {
        "type": "string",
        "description": "CA Bundle file\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_FMG_CABUNDLE"
          ]
        }
      },
      "fmgHostname": {
        "type": "string",
        "description": "Hostname/IP address of the FortiManager to connect to\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_FMG_HOSTNAME"
          ]
        }
      },
      "fmgInsecure": {
        "type": "boolean",
        "defaultInfo": {
          "environment": [
            "FORTIOS_FMG_INSECURE"
          ]
        }
      },
      "fmgPasswd": {
        "type": "string",
        "defaultInfo": {
          "environment": [
            "FORTIOS_FMG_PASSWORD"
          ]
        },
        "secret": true
      },
      "fmgUsername": {
        "type": "string",
        "defaultInfo": {
          "environment": [
            "FORTIOS_FMG_USERNAME"
          ]
        }
      },
      "hostname": {
        "type": "string",
        "description": "The hostname/IP address of the FortiOS to be connected\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_ACCESS_HOSTNAME"
          ]
        }
      },
      "httpProxy": {
        "type": "string",
        "description": "HTTP proxy address\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_HTTP_PROXY"
          ]
        }
      },
      "insecure": {
        "type": "boolean",
        "defaultInfo": {
          "environment": [
            "FORTIOS_INSECURE"
          ]
        }
      },
      "password": {
        "type": "string",
        "description": "The password of the user.\n"
      },
      "peerauth": {
        "type": "string",
        "description": "Enable/disable peer authentication, can be 'enable' or 'disable'\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_PEERAUTH"
          ]
        }
      },
      "token": {
        "type": "string",
        "defaultInfo": {
          "environment": [
            "FORTIOS_ACCESS_TOKEN"
          ]
        },
        "secret": true
      },
      "username": {
        "type": "string",
        "description": "The username of the user.\n"
      },
      "vdom": {
        "type": "string",
        "description": "Vdom name of FortiOS. It will apply to all resources. Specify variable `vdomparam` on each resource will override the\nvdom value on that resource.\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_VDOM"
          ]
        }
      }
    }
  },
  "types": {
    "fortios:antivirus/ProfileCifs:ProfileCifs": {
      "properties": {
        "archiveBlock": {
          "type": "string",
          "description": "Select the archive types to block.\n"
        },
        "archiveLog": {
          "type": "string",
          "description": "Select the archive types to log.\n"
        },
        "avScan": {
          "type": "string",
          "description": "Enable AntiVirus scan service. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "emulator": {
          "type": "string",
          "description": "Enable/disable the virus emulator. Valid values: `enable`, `disable`.\n"
        },
        "externalBlocklist": {
          "type": "string",
          "description": "Enable external-blocklist. Analyzes files including the content of archives. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortiai": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiAI server. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortindr": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiNDR. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortisandbox": {
          "type": "string",
          "description": "Enable scanning of files by FortiSandbox. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "options": {
          "type": "string",
          "description": "Enable/disable CIFS AntiVirus scanning, monitoring, and quarantine. Valid values: `scan`, `avmonitor`, `quarantine`.\n"
        },
        "outbreakPrevention": {
          "type": "string",
          "description": "Enable Virus Outbreak Prevention service.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine for infected files. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveBlock",
            "archiveLog",
            "avScan",
            "emulator",
            "externalBlocklist",
            "fortiai",
            "fortindr",
            "fortisandbox",
            "options",
            "outbreakPrevention",
            "quarantine"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileContentDisarm:ProfileContentDisarm": {
      "properties": {
        "coverPage": {
          "type": "string",
          "description": "Enable/disable inserting a cover page into the disarmed document. Valid values: `disable`, `enable`.\n"
        },
        "detectOnly": {
          "type": "string",
          "description": "Enable/disable only detect disarmable files, do not alter content. Valid values: `disable`, `enable`.\n"
        },
        "errorAction": {
          "type": "string",
          "description": "Action to be taken if CDR engine encounters an unrecoverable error. Valid values: `block`, `log-only`, `ignore`.\n"
        },
        "officeAction": {
          "type": "string",
          "description": "Enable/disable stripping of PowerPoint action events in Microsoft Office documents. Valid values: `disable`, `enable`.\n"
        },
        "officeDde": {
          "type": "string",
          "description": "Enable/disable stripping of Dynamic Data Exchange events in Microsoft Office documents. Valid values: `disable`, `enable`.\n"
        },
        "officeEmbed": {
          "type": "string",
          "description": "Enable/disable stripping of embedded objects in Microsoft Office documents. Valid values: `disable`, `enable`.\n"
        },
        "officeHylink": {
          "type": "string",
          "description": "Enable/disable stripping of hyperlinks in Microsoft Office documents. Valid values: `disable`, `enable`.\n"
        },
        "officeLinked": {
          "type": "string",
          "description": "Enable/disable stripping of linked objects in Microsoft Office documents. Valid values: `disable`, `enable`.\n"
        },
        "officeMacro": {
          "type": "string",
          "description": "Enable/disable stripping of macros in Microsoft Office documents. Valid values: `disable`, `enable`.\n"
        },
        "originalFileDestination": {
          "type": "string",
          "description": "Destination to send original file if active content is removed. Valid values: `fortisandbox`, `quarantine`, `discard`.\n"
        },
        "pdfActForm": {
          "type": "string",
          "description": "Enable/disable stripping of actions that submit data to other targets in PDF documents. Valid values: `disable`, `enable`.\n"
        },
        "pdfActGotor": {
          "type": "string",
          "description": "Enable/disable stripping of links to other PDFs in PDF documents. Valid values: `disable`, `enable`.\n"
        },
        "pdfActJava": {
          "type": "string",
          "description": "Enable/disable stripping of actions that execute JavaScript code in PDF documents. Valid values: `disable`, `enable`.\n"
        },
        "pdfActLaunch": {
          "type": "string",
          "description": "Enable/disable stripping of links to external applications in PDF documents. Valid values: `disable`, `enable`.\n"
        },
        "pdfActMovie": {
          "type": "string",
          "description": "Enable/disable stripping of embedded movies in PDF documents. Valid values: `disable`, `enable`.\n"
        },
        "pdfActSound": {
          "type": "string",
          "description": "Enable/disable stripping of embedded sound files in PDF documents. Valid values: `disable`, `enable`.\n"
        },
        "pdfEmbedfile": {
          "type": "string",
          "description": "Enable/disable stripping of embedded files in PDF documents. Valid values: `disable`, `enable`.\n"
        },
        "pdfHyperlink": {
          "type": "string",
          "description": "Enable/disable stripping of hyperlinks from PDF documents. Valid values: `disable`, `enable`.\n"
        },
        "pdfJavacode": {
          "type": "string",
          "description": "Enable/disable stripping of JavaScript code in PDF documents. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "coverPage",
            "detectOnly",
            "errorAction",
            "officeAction",
            "officeDde",
            "officeEmbed",
            "officeHylink",
            "officeLinked",
            "officeMacro",
            "originalFileDestination",
            "pdfActForm",
            "pdfActGotor",
            "pdfActJava",
            "pdfActLaunch",
            "pdfActMovie",
            "pdfActSound",
            "pdfEmbedfile",
            "pdfHyperlink",
            "pdfJavacode"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileExternalBlocklist:ProfileExternalBlocklist": {
      "properties": {
        "name": {
          "type": "string",
          "description": "External blocklist.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileFtp:ProfileFtp": {
      "properties": {
        "archiveBlock": {
          "type": "string",
          "description": "Select the archive types to block.\n"
        },
        "archiveLog": {
          "type": "string",
          "description": "Select the archive types to log.\n"
        },
        "avScan": {
          "type": "string",
          "description": "Enable AntiVirus scan service. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "emulator": {
          "type": "string",
          "description": "Enable/disable the virus emulator. Valid values: `enable`, `disable`.\n"
        },
        "externalBlocklist": {
          "type": "string",
          "description": "Enable external-blocklist. Analyzes files including the content of archives. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortiai": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiAI server. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortindr": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiNDR. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortisandbox": {
          "type": "string",
          "description": "Enable scanning of files by FortiSandbox. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "options": {
          "type": "string",
          "description": "Enable/disable FTP AntiVirus scanning, monitoring, and quarantine. Valid values: `scan`, `avmonitor`, `quarantine`.\n"
        },
        "outbreakPrevention": {
          "type": "string",
          "description": "Enable Virus Outbreak Prevention service.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine for infected files. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveBlock",
            "archiveLog",
            "avScan",
            "emulator",
            "externalBlocklist",
            "fortiai",
            "fortindr",
            "fortisandbox",
            "options",
            "outbreakPrevention",
            "quarantine"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileHttp:ProfileHttp": {
      "properties": {
        "archiveBlock": {
          "type": "string",
          "description": "Select the archive types to block.\n"
        },
        "archiveLog": {
          "type": "string",
          "description": "Select the archive types to log.\n"
        },
        "avScan": {
          "type": "string",
          "description": "Enable AntiVirus scan service. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "contentDisarm": {
          "type": "string",
          "description": "Enable Content Disarm and Reconstruction for this protocol. Valid values: `disable`, `enable`.\n"
        },
        "emulator": {
          "type": "string",
          "description": "Enable/disable the virus emulator. Valid values: `enable`, `disable`.\n"
        },
        "externalBlocklist": {
          "type": "string",
          "description": "Enable external-blocklist. Analyzes files including the content of archives. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortiai": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiAI server. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortindr": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiNDR. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortisandbox": {
          "type": "string",
          "description": "Enable scanning of files by FortiSandbox. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "options": {
          "type": "string",
          "description": "Enable/disable HTTP AntiVirus scanning, monitoring, and quarantine. Valid values: `scan`, `avmonitor`, `quarantine`.\n"
        },
        "outbreakPrevention": {
          "type": "string",
          "description": "Enable Virus Outbreak Prevention service.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine for infected files. Valid values: `disable`, `enable`.\n"
        },
        "unknownContentEncoding": {
          "type": "string",
          "description": "Configure the action the FortiGate unit will take on unknown content-encoding. Valid values: `block`, `inspect`, `bypass`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveBlock",
            "archiveLog",
            "avScan",
            "contentDisarm",
            "emulator",
            "externalBlocklist",
            "fortiai",
            "fortindr",
            "fortisandbox",
            "options",
            "outbreakPrevention",
            "quarantine",
            "unknownContentEncoding"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileImap:ProfileImap": {
      "properties": {
        "archiveBlock": {
          "type": "string",
          "description": "Select the archive types to block.\n"
        },
        "archiveLog": {
          "type": "string",
          "description": "Select the archive types to log.\n"
        },
        "avScan": {
          "type": "string",
          "description": "Enable AntiVirus scan service. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "contentDisarm": {
          "type": "string",
          "description": "Enable Content Disarm and Reconstruction for this protocol. Valid values: `disable`, `enable`.\n"
        },
        "emulator": {
          "type": "string",
          "description": "Enable/disable the virus emulator. Valid values: `enable`, `disable`.\n"
        },
        "executables": {
          "type": "string",
          "description": "Treat Windows executable files as viruses for the purpose of blocking or monitoring. Valid values: `default`, `virus`.\n"
        },
        "externalBlocklist": {
          "type": "string",
          "description": "Enable external-blocklist. Analyzes files including the content of archives. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortiai": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiAI server. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortindr": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiNDR. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortisandbox": {
          "type": "string",
          "description": "Enable scanning of files by FortiSandbox. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "options": {
          "type": "string",
          "description": "Enable/disable POP3 AntiVirus scanning, monitoring, and quarantine. Valid values: `scan`, `avmonitor`, `quarantine`.\n"
        },
        "outbreakPrevention": {
          "type": "string",
          "description": "Enable Virus Outbreak Prevention service.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine for infected files. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveBlock",
            "archiveLog",
            "avScan",
            "contentDisarm",
            "emulator",
            "executables",
            "externalBlocklist",
            "fortiai",
            "fortindr",
            "fortisandbox",
            "options",
            "outbreakPrevention",
            "quarantine"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileMapi:ProfileMapi": {
      "properties": {
        "archiveBlock": {
          "type": "string",
          "description": "Select the archive types to block.\n"
        },
        "archiveLog": {
          "type": "string",
          "description": "Select the archive types to log.\n"
        },
        "avScan": {
          "type": "string",
          "description": "Enable AntiVirus scan service. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "emulator": {
          "type": "string",
          "description": "Enable/disable the virus emulator. Valid values: `enable`, `disable`.\n"
        },
        "executables": {
          "type": "string",
          "description": "Treat Windows executable files as viruses for the purpose of blocking or monitoring. Valid values: `default`, `virus`.\n"
        },
        "externalBlocklist": {
          "type": "string",
          "description": "Enable external-blocklist. Analyzes files including the content of archives. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortiai": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiAI server. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortindr": {
          "type": "string",
          "description": "Enable scanning of files by FortiNDR. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortisandbox": {
          "type": "string",
          "description": "Enable scanning of files by FortiSandbox. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "options": {
          "type": "string",
          "description": "Enable/disable MAPI AntiVirus scanning, monitoring, and quarantine. Valid values: `scan`, `avmonitor`, `quarantine`.\n"
        },
        "outbreakPrevention": {
          "type": "string",
          "description": "Enable Virus Outbreak Prevention service.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine for infected files. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveBlock",
            "archiveLog",
            "avScan",
            "emulator",
            "executables",
            "externalBlocklist",
            "fortiai",
            "fortindr",
            "fortisandbox",
            "options",
            "outbreakPrevention",
            "quarantine"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileNacQuar:ProfileNacQuar": {
      "properties": {
        "expiry": {
          "type": "string",
          "description": "Duration of quarantine.\n"
        },
        "infected": {
          "type": "string",
          "description": "Enable/Disable quarantining infected hosts to the banned user list. Valid values: `none`, `quar-src-ip`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable AntiVirus quarantine logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "expiry",
            "infected",
            "log"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileNntp:ProfileNntp": {
      "properties": {
        "archiveBlock": {
          "type": "string",
          "description": "Select the archive types to block.\n"
        },
        "archiveLog": {
          "type": "string",
          "description": "Select the archive types to log.\n"
        },
        "avScan": {
          "type": "string",
          "description": "Enable AntiVirus scan service. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "emulator": {
          "type": "string",
          "description": "Enable/disable the virus emulator. Valid values: `enable`, `disable`.\n"
        },
        "externalBlocklist": {
          "type": "string",
          "description": "Enable external-blocklist. Analyzes files including the content of archives. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortiai": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiAI server. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortindr": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiNDR. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortisandbox": {
          "type": "string",
          "description": "Enable scanning of files by FortiSandbox. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "options": {
          "type": "string",
          "description": "Enable/disable NNTP AntiVirus scanning, monitoring, and quarantine. Valid values: `scan`, `avmonitor`, `quarantine`.\n"
        },
        "outbreakPrevention": {
          "type": "string",
          "description": "Enable Virus Outbreak Prevention service.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine for infected files. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveBlock",
            "archiveLog",
            "avScan",
            "emulator",
            "externalBlocklist",
            "fortiai",
            "fortindr",
            "fortisandbox",
            "options",
            "outbreakPrevention",
            "quarantine"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileOutbreakPrevention:ProfileOutbreakPrevention": {
      "properties": {
        "externalBlocklist": {
          "type": "string",
          "description": "Enable/disable external malware blocklist. Valid values: `disable`, `enable`.\n"
        },
        "ftgdService": {
          "type": "string",
          "description": "Enable/disable FortiGuard Virus outbreak prevention service. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "externalBlocklist",
            "ftgdService"
          ]
        }
      }
    },
    "fortios:antivirus/ProfilePop3:ProfilePop3": {
      "properties": {
        "archiveBlock": {
          "type": "string"
        },
        "archiveLog": {
          "type": "string"
        },
        "avScan": {
          "type": "string"
        },
        "contentDisarm": {
          "type": "string",
          "description": "AV Content Disarm and Reconstruction settings. The structure of `content_disarm` block is documented below.\n"
        },
        "emulator": {
          "type": "string"
        },
        "executables": {
          "type": "string"
        },
        "externalBlocklist": {
          "type": "string",
          "description": "One or more external malware block lists. The structure of `external_blocklist` block is documented below.\n"
        },
        "fortiai": {
          "type": "string"
        },
        "fortindr": {
          "type": "string"
        },
        "fortisandbox": {
          "type": "string"
        },
        "options": {
          "type": "string"
        },
        "outbreakPrevention": {
          "type": "string",
          "description": "Configure Virus Outbreak Prevention settings. The structure of `outbreak_prevention` block is documented below.\n"
        },
        "quarantine": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveBlock",
            "archiveLog",
            "avScan",
            "contentDisarm",
            "emulator",
            "executables",
            "externalBlocklist",
            "fortiai",
            "fortindr",
            "fortisandbox",
            "options",
            "outbreakPrevention",
            "quarantine"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileSmb:ProfileSmb": {
      "properties": {
        "archiveBlock": {
          "type": "string",
          "description": "Select the archive types to block. Valid values: `encrypted`, `corrupted`, `partiallycorrupted`, `multipart`, `nested`, `mailbomb`, `fileslimit`, `timeout`, `unhandled`.\n"
        },
        "archiveLog": {
          "type": "string",
          "description": "Select the archive types to log. Valid values: `encrypted`, `corrupted`, `partiallycorrupted`, `multipart`, `nested`, `mailbomb`, `fileslimit`, `timeout`, `unhandled`.\n"
        },
        "emulator": {
          "type": "string",
          "description": "Enable/disable the virus emulator. Valid values: `enable`, `disable`.\n"
        },
        "options": {
          "type": "string",
          "description": "Enable/disable SMB AntiVirus scanning, monitoring, and quarantine. Valid values: `scan`, `avmonitor`, `quarantine`.\n"
        },
        "outbreakPrevention": {
          "type": "string",
          "description": "Enable Virus Outbreak Prevention service. Valid values: `disabled`, `files`, `full-archive`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveBlock",
            "archiveLog",
            "emulator",
            "options",
            "outbreakPrevention"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileSmtp:ProfileSmtp": {
      "properties": {
        "archiveBlock": {
          "type": "string",
          "description": "Select the archive types to block.\n"
        },
        "archiveLog": {
          "type": "string",
          "description": "Select the archive types to log.\n"
        },
        "avScan": {
          "type": "string",
          "description": "Enable AntiVirus scan service. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "contentDisarm": {
          "type": "string",
          "description": "Enable Content Disarm and Reconstruction for this protocol. Valid values: `disable`, `enable`.\n"
        },
        "emulator": {
          "type": "string",
          "description": "Enable/disable the virus emulator. Valid values: `enable`, `disable`.\n"
        },
        "executables": {
          "type": "string",
          "description": "Treat Windows executable files as viruses for the purpose of blocking or monitoring. Valid values: `default`, `virus`.\n"
        },
        "externalBlocklist": {
          "type": "string",
          "description": "Enable external-blocklist. Analyzes files including the content of archives. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortiai": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiAI server. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortindr": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiNDR. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortisandbox": {
          "type": "string",
          "description": "Enable scanning of files by FortiSandbox. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "options": {
          "type": "string",
          "description": "Enable/disable SMTP AntiVirus scanning, monitoring, and quarantine. Valid values: `scan`, `avmonitor`, `quarantine`.\n"
        },
        "outbreakPrevention": {
          "type": "string",
          "description": "Enable Virus Outbreak Prevention service.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine for infected files. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveBlock",
            "archiveLog",
            "avScan",
            "contentDisarm",
            "emulator",
            "executables",
            "externalBlocklist",
            "fortiai",
            "fortindr",
            "fortisandbox",
            "options",
            "outbreakPrevention",
            "quarantine"
          ]
        }
      }
    },
    "fortios:antivirus/ProfileSsh:ProfileSsh": {
      "properties": {
        "archiveBlock": {
          "type": "string",
          "description": "Select the archive types to block.\n"
        },
        "archiveLog": {
          "type": "string",
          "description": "Select the archive types to log.\n"
        },
        "avScan": {
          "type": "string",
          "description": "Enable AntiVirus scan service. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "emulator": {
          "type": "string",
          "description": "Enable/disable the virus emulator. Valid values: `enable`, `disable`.\n"
        },
        "externalBlocklist": {
          "type": "string",
          "description": "Enable external-blocklist. Analyzes files including the content of archives. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortiai": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiAI server. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortindr": {
          "type": "string",
          "description": "Enable/disable scanning of files by FortiNDR. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "fortisandbox": {
          "type": "string",
          "description": "Enable scanning of files by FortiSandbox. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "options": {
          "type": "string",
          "description": "Enable/disable SFTP and SCP AntiVirus scanning, monitoring, and quarantine. Valid values: `scan`, `avmonitor`, `quarantine`.\n"
        },
        "outbreakPrevention": {
          "type": "string",
          "description": "Enable Virus Outbreak Prevention service.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Enable/disable quarantine for infected files. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveBlock",
            "archiveLog",
            "avScan",
            "emulator",
            "externalBlocklist",
            "fortiai",
            "fortindr",
            "fortisandbox",
            "options",
            "outbreakPrevention",
            "quarantine"
          ]
        }
      }
    },
    "fortios:application/GroupApplication:GroupApplication": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:application/GroupCategory:GroupCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Category IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:application/GroupRisk:GroupRisk": {
      "properties": {
        "level": {
          "type": "integer",
          "description": "Risk, or impact, of allowing traffic from this application to occur (1 - 5; Low, Elevated, Medium, High, and Critical).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "level"
          ]
        }
      }
    },
    "fortios:application/ListDefaultNetworkService:ListDefaultNetworkService": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port number.\n"
        },
        "services": {
          "type": "string",
          "description": "Network protocols. Valid values: `http`, `ssh`, `telnet`, `ftp`, `dns`, `smtp`, `pop3`, `imap`, `snmp`, `nntp`, `https`.\n"
        },
        "violationAction": {
          "type": "string",
          "description": "Action for protocols not white listed under selected port. Valid values: `pass`, `monitor`, `block`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "port",
            "services",
            "violationAction"
          ]
        }
      }
    },
    "fortios:application/ListEntry:ListEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Pass or block traffic, or reset connection for traffic from this application. Valid values: `pass`, `block`, `reset`.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListEntryApplication:ListEntryApplication"
          },
          "description": "ID of allowed applications. The structure of `application` block is documented below.\n"
        },
        "behavior": {
          "type": "string",
          "description": "Application behavior filter.\n"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListEntryCategory:ListEntryCategory"
          },
          "description": "Category ID list. The structure of `category` block is documented below.\n"
        },
        "exclusions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListEntryExclusion:ListEntryExclusion"
          },
          "description": "ID of excluded applications. The structure of `exclusion` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging for this application list. Valid values: `disable`, `enable`.\n"
        },
        "logPacket": {
          "type": "string",
          "description": "Enable/disable packet logging. Valid values: `disable`, `enable`.\n"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListEntryParameter:ListEntryParameter"
          },
          "description": "Application parameters. The structure of `parameters` block is documented below.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper.\n"
        },
        "popularity": {
          "type": "string",
          "description": "Application popularity filter (1 - 5, from least to most popular). Valid values: `1`, `2`, `3`, `4`, `5`.\n"
        },
        "protocols": {
          "type": "string",
          "description": "Application protocol filter.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Quarantine method. Valid values: `none`, `attacker`.\n"
        },
        "quarantineExpiry": {
          "type": "string",
          "description": "Duration of quarantine. (Format ###d##h##m, minimum 1m, maximum 364d23h59m, default = 5m). Requires quarantine set to attacker.\n"
        },
        "quarantineLog": {
          "type": "string",
          "description": "Enable/disable quarantine logging. Valid values: `disable`, `enable`.\n"
        },
        "rateCount": {
          "type": "integer",
          "description": "Count of the rate.\n"
        },
        "rateDuration": {
          "type": "integer",
          "description": "Duration (sec) of the rate.\n"
        },
        "rateMode": {
          "type": "string",
          "description": "Rate limit mode. Valid values: `periodical`, `continuous`.\n"
        },
        "rateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`, `dhcp-client-mac`, `dns-domain`.\n"
        },
        "risks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListEntryRisk:ListEntryRisk"
          },
          "description": "Risk, or impact, of allowing traffic from this application to occur (1 - 5; Low, Elevated, Medium, High, and Critical). The structure of `risk` block is documented below.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "Session TTL (0 = default).\n"
        },
        "shaper": {
          "type": "string",
          "description": "Traffic shaper.\n"
        },
        "shaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "subCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListEntrySubCategory:ListEntrySubCategory"
          },
          "description": "Application Sub-category ID list. The structure of `sub_category` block is documented below.\n"
        },
        "technology": {
          "type": "string",
          "description": "Application technology filter.\n"
        },
        "vendor": {
          "type": "string",
          "description": "Application vendor filter.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "behavior",
            "id",
            "log",
            "logPacket",
            "perIpShaper",
            "popularity",
            "protocols",
            "quarantine",
            "quarantineExpiry",
            "quarantineLog",
            "rateCount",
            "rateDuration",
            "rateMode",
            "rateTrack",
            "sessionTtl",
            "shaper",
            "shaperReverse",
            "technology",
            "vendor"
          ]
        }
      }
    },
    "fortios:application/ListEntryApplication:ListEntryApplication": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:application/ListEntryCategory:ListEntryCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application category ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:application/ListEntryExclusion:ListEntryExclusion": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Excluded application IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:application/ListEntryParameter:ListEntryParameter": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Parameter ID.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListEntryParameterMember:ListEntryParameterMember"
          },
          "description": "Parameter tuple members. The structure of `members` block is documented below.\n"
        },
        "value": {
          "type": "string",
          "description": "Parameter value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "value"
          ]
        }
      }
    },
    "fortios:application/ListEntryParameterMember:ListEntryParameterMember": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Parameter.\n"
        },
        "name": {
          "type": "string",
          "description": "Parameter name.\n"
        },
        "value": {
          "type": "string",
          "description": "Parameter value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "value"
          ]
        }
      }
    },
    "fortios:application/ListEntryRisk:ListEntryRisk": {
      "properties": {
        "level": {
          "type": "integer",
          "description": "Risk, or impact, of allowing traffic from this application to occur (1 - 5; Low, Elevated, Medium, High, and Critical).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "level"
          ]
        }
      }
    },
    "fortios:application/ListEntrySubCategory:ListEntrySubCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application sub-category ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:application/NameMetadata:NameMetadata": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "metaid": {
          "type": "integer",
          "description": "Meta ID.\n"
        },
        "valueid": {
          "type": "integer",
          "description": "Value ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "metaid",
            "valueid"
          ]
        }
      }
    },
    "fortios:application/NameParameter:NameParameter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Parameter name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:authentication/RuleDstaddr6:RuleDstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Authentication rule name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:authentication/RuleDstaddr:RuleDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:authentication/RuleSrcaddr6:RuleSrcaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Authentication rule name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:authentication/RuleSrcaddr:RuleSrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:authentication/RuleSrcintf:RuleSrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:authentication/SchemeUserDatabase:SchemeUserDatabase": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Authentication server name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:authentication/SettingDevRange:SettingDevRange": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:authentication/SettingUserCertCa:SettingUserCertCa": {
      "properties": {
        "name": {
          "type": "string",
          "description": "CA certificate list.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:casb/ProfileSaasApplication:ProfileSaasApplication": {
      "properties": {
        "accessRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FProfileSaasApplicationAccessRule:ProfileSaasApplicationAccessRule"
          },
          "description": "CASB profile access rule. The structure of `access_rule` block is documented below.\n"
        },
        "customControls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FProfileSaasApplicationCustomControl:ProfileSaasApplicationCustomControl"
          },
          "description": "CASB profile custom control. The structure of `custom_control` block is documented below.\n"
        },
        "domainControl": {
          "type": "string",
          "description": "Enable/disable domain control. Valid values: `enable`, `disable`.\n"
        },
        "domainControlDomains": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FProfileSaasApplicationDomainControlDomain:ProfileSaasApplicationDomainControlDomain"
          },
          "description": "CASB profile domain control domains. The structure of `domain_control_domains` block is documented below.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable log settings. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "CASB profile SaaS application name.\n"
        },
        "safeSearch": {
          "type": "string",
          "description": "Enable/disable safe search. Valid values: `enable`, `disable`.\n"
        },
        "safeSearchControls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FProfileSaasApplicationSafeSearchControl:ProfileSaasApplicationSafeSearchControl"
          },
          "description": "CASB profile safe search control. The structure of `safe_search_control` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable setting. Valid values: `enable`, `disable`.\n"
        },
        "tenantControl": {
          "type": "string",
          "description": "Enable/disable tenant control. Valid values: `enable`, `disable`.\n"
        },
        "tenantControlTenants": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FProfileSaasApplicationTenantControlTenant:ProfileSaasApplicationTenantControlTenant"
          },
          "description": "CASB profile tenant control tenants. The structure of `tenant_control_tenants` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domainControl",
            "log",
            "name",
            "safeSearch",
            "status",
            "tenantControl"
          ]
        }
      }
    },
    "fortios:casb/ProfileSaasApplicationAccessRule:ProfileSaasApplicationAccessRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "CASB access rule action. Valid values: `bypass`, `block`, `monitor`.\n"
        },
        "bypass": {
          "type": "string",
          "description": "CASB bypass options. Valid values: `av`, `dlp`, `web-filter`, `file-filter`, `video-filter`.\n"
        },
        "name": {
          "type": "string",
          "description": "CASB access rule activity name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "bypass",
            "name"
          ]
        }
      }
    },
    "fortios:casb/ProfileSaasApplicationCustomControl:ProfileSaasApplicationCustomControl": {
      "properties": {
        "name": {
          "type": "string",
          "description": "CASB custom control user activity name.\n"
        },
        "options": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FProfileSaasApplicationCustomControlOption:ProfileSaasApplicationCustomControlOption"
          },
          "description": "CASB custom control option. The structure of `option` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:casb/ProfileSaasApplicationCustomControlOption:ProfileSaasApplicationCustomControlOption": {
      "properties": {
        "name": {
          "type": "string",
          "description": "CASB custom control option name.\n"
        },
        "userInputs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FProfileSaasApplicationCustomControlOptionUserInput:ProfileSaasApplicationCustomControlOptionUserInput"
          },
          "description": "CASB custom control user input. The structure of `user_input` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:casb/ProfileSaasApplicationCustomControlOptionUserInput:ProfileSaasApplicationCustomControlOptionUserInput": {
      "properties": {
        "value": {
          "type": "string",
          "description": "user input value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "value"
          ]
        }
      }
    },
    "fortios:casb/ProfileSaasApplicationDomainControlDomain:ProfileSaasApplicationDomainControlDomain": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Domain control domain name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:casb/ProfileSaasApplicationSafeSearchControl:ProfileSaasApplicationSafeSearchControl": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Safe search control name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:casb/ProfileSaasApplicationTenantControlTenant:ProfileSaasApplicationTenantControlTenant": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tenant control tenants name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:casb/SaasapplicationDomain:SaasapplicationDomain": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Domain list separated by space.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domain"
          ]
        }
      }
    },
    "fortios:casb/UseractivityControlOption:UseractivityControlOption": {
      "properties": {
        "name": {
          "type": "string",
          "description": "CASB control option name.\n"
        },
        "operations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FUseractivityControlOptionOperation:UseractivityControlOptionOperation"
          },
          "description": "CASB control option operations. The structure of `operations` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "CASB control option status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "status"
          ]
        }
      }
    },
    "fortios:casb/UseractivityControlOptionOperation:UseractivityControlOptionOperation": {
      "properties": {
        "action": {
          "type": "string",
          "description": "CASB operation action. Valid values: `append`, `prepend`, `replace`, `new`, `new-on-not-found`, `delete`.\n"
        },
        "caseSensitive": {
          "type": "string",
          "description": "CASB operation search case sensitive. Valid values: `enable`, `disable`.\n"
        },
        "direction": {
          "type": "string",
          "description": "CASB operation direction. Valid values: `request`.\n"
        },
        "headerName": {
          "type": "string",
          "description": "CASB operation header name to search.\n"
        },
        "name": {
          "type": "string",
          "description": "CASB control option operation name.\n"
        },
        "searchKey": {
          "type": "string",
          "description": "CASB operation key to search.\n"
        },
        "searchPattern": {
          "type": "string",
          "description": "CASB operation search pattern. Valid values: `simple`, `substr`, `regexp`.\n"
        },
        "target": {
          "type": "string",
          "description": "CASB operation target. Valid values: `header`, `path`.\n"
        },
        "valueFromInput": {
          "type": "string",
          "description": "Enable/disable value from user input. Valid values: `enable`, `disable`.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FUseractivityControlOptionOperationValue:UseractivityControlOptionOperationValue"
          },
          "description": "CASB operation new values. The structure of `values` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "caseSensitive",
            "direction",
            "headerName",
            "name",
            "searchKey",
            "searchPattern",
            "target",
            "valueFromInput"
          ]
        }
      }
    },
    "fortios:casb/UseractivityControlOptionOperationValue:UseractivityControlOptionOperationValue": {
      "properties": {
        "value": {
          "type": "string",
          "description": "Operation value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "value"
          ]
        }
      }
    },
    "fortios:casb/UseractivityMatch:UseractivityMatch": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "CASB user activity match rules ID.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FUseractivityMatchRule:UseractivityMatchRule"
          },
          "description": "CASB user activity rules. The structure of `rules` block is documented below.\n"
        },
        "strategy": {
          "type": "string",
          "description": "CASB user activity rules strategy. Valid values: `and`, `or`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "strategy"
          ]
        }
      }
    },
    "fortios:casb/UseractivityMatchRule:UseractivityMatchRule": {
      "properties": {
        "caseSensitive": {
          "type": "string",
          "description": "CASB user activity match case sensitive. Valid values: `enable`, `disable`.\n"
        },
        "domains": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FUseractivityMatchRuleDomain:UseractivityMatchRuleDomain"
          },
          "description": "CASB user activity domain list. The structure of `domains` block is documented below.\n"
        },
        "headerName": {
          "type": "string",
          "description": "CASB user activity rule header name.\n"
        },
        "id": {
          "type": "integer",
          "description": "CASB user activity rule ID.\n"
        },
        "matchPattern": {
          "type": "string",
          "description": "CASB user activity rule match pattern. Valid values: `simple`, `substr`, `regexp`.\n"
        },
        "matchValue": {
          "type": "string",
          "description": "CASB user activity rule match value.\n"
        },
        "methods": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FUseractivityMatchRuleMethod:UseractivityMatchRuleMethod"
          },
          "description": "CASB user activity method list. The structure of `methods` block is documented below.\n"
        },
        "negate": {
          "type": "string",
          "description": "Enable/disable what the matching strategy must not be. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "CASB user activity rule type. Valid values: `domains`, `host`, `path`, `header`, `header-value`, `method`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "caseSensitive",
            "headerName",
            "id",
            "matchPattern",
            "matchValue",
            "negate",
            "type"
          ]
        }
      }
    },
    "fortios:casb/UseractivityMatchRuleDomain:UseractivityMatchRuleDomain": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Domain list separated by space.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domain"
          ]
        }
      }
    },
    "fortios:casb/UseractivityMatchRuleMethod:UseractivityMatchRuleMethod": {
      "properties": {
        "method": {
          "type": "string",
          "description": "User activity method.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "method"
          ]
        }
      }
    },
    "fortios:cifs/ProfileFileFilter:ProfileFileFilter": {
      "properties": {
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:cifs%2FProfileFileFilterEntry:ProfileFileFilterEntry"
          },
          "description": "File filter entries. The structure of `entries` block is documented below.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable file filter logging. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable file filter. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "log",
            "status"
          ]
        }
      }
    },
    "fortios:cifs/ProfileFileFilterEntry:ProfileFileFilterEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken for matched file. Valid values: `log`, `block`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "direction": {
          "type": "string",
          "description": "Match files transmitted in the session's originating or reply direction. Valid values: `incoming`, `outgoing`, `any`.\n"
        },
        "fileTypes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:cifs%2FProfileFileFilterEntryFileType:ProfileFileFilterEntryFileType"
          },
          "description": "Select file type. The structure of `file_type` block is documented below.\n"
        },
        "filter": {
          "type": "string",
          "description": "Add a file filter.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "direction",
            "filter"
          ]
        }
      }
    },
    "fortios:cifs/ProfileFileFilterEntryFileType:ProfileFileFilterEntryFileType": {
      "properties": {
        "name": {
          "type": "string",
          "description": "File type name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:cifs/ProfileServerKeytab:ProfileServerKeytab": {
      "properties": {
        "keytab": {
          "type": "string",
          "description": "Base64 encoded keytab file containing credential of the server.\n"
        },
        "principal": {
          "type": "string",
          "description": "Service principal.  For example, \"host/cifsserver.example.com@example.com\".\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keytab",
            "principal"
          ]
        }
      }
    },
    "fortios:dlp/DictionaryEntry:DictionaryEntry": {
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ignoreCase": {
          "type": "string",
          "description": "Enable/disable ignore case. Valid values: `enable`, `disable`.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Pattern to match.\n"
        },
        "repeat": {
          "type": "string",
          "description": "Enable/disable repeat match. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this pattern. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Pattern type to match.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ignoreCase",
            "pattern",
            "repeat",
            "status",
            "type"
          ]
        }
      }
    },
    "fortios:dlp/ExactdatamatchColumn:ExactdatamatchColumn": {
      "properties": {
        "index": {
          "type": "integer",
          "description": "Column index.\n"
        },
        "optional": {
          "type": "string",
          "description": "Enable/disable optional match. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Data-type for this column.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "index",
            "optional",
            "type"
          ]
        }
      }
    },
    "fortios:dlp/FilepatternEntry:FilepatternEntry": {
      "properties": {
        "fileType": {
          "type": "string",
          "description": "Select a file type.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Filter by file name pattern or by file type. Valid values: `pattern`, `type`.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Add a file name pattern.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "fileType",
            "filterType",
            "pattern"
          ]
        }
      }
    },
    "fortios:dlp/ProfileRule:ProfileRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to take with content that this DLP profile matches. Valid values: `allow`, `log-only`, `block`, `quarantine-ip`.\n"
        },
        "archive": {
          "type": "string",
          "description": "Enable/disable DLP archiving. Valid values: `disable`, `enable`.\n"
        },
        "expiry": {
          "type": "string",
          "description": "Quarantine duration in days, hours, minutes (format = dddhhmm).\n"
        },
        "fileSize": {
          "type": "integer",
          "description": "Match files greater than or equal to this size (KB).\n"
        },
        "fileType": {
          "type": "integer",
          "description": "Select the number of a DLP file pattern table to match.\n"
        },
        "filterBy": {
          "type": "string",
          "description": "Select the type of content to match. Valid values: `sensor`, `mip`, `fingerprint`, `encrypted`, `none`.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "label": {
          "type": "string",
          "description": "MIP label dictionary.\n"
        },
        "matchPercentage": {
          "type": "integer",
          "description": "Percentage of fingerprints in the fingerprint databases designated with the selected sensitivity to match.\n"
        },
        "name": {
          "type": "string",
          "description": "Filter name.\n"
        },
        "proto": {
          "type": "string",
          "description": "Check messages or files over one or more of these protocols. Valid values: `smtp`, `pop3`, `imap`, `http-get`, `http-post`, `ftp`, `nntp`, `mapi`, `ssh`, `cifs`.\n"
        },
        "sensitivities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FProfileRuleSensitivity:ProfileRuleSensitivity"
          },
          "description": "Select a DLP file pattern sensitivity to match. The structure of `sensitivity` block is documented below.\n"
        },
        "sensors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FProfileRuleSensor:ProfileRuleSensor"
          },
          "description": "Select DLP sensors. The structure of `sensor` block is documented below.\n"
        },
        "severity": {
          "type": "string",
          "description": "Select the severity or threat level that matches this filter. Valid values: `info`, `low`, `medium`, `high`, `critical`.\n"
        },
        "type": {
          "type": "string",
          "description": "Select whether to check the content of messages (an email message) or files (downloaded files or email attachments). Valid values: `file`, `message`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "archive",
            "expiry",
            "fileSize",
            "fileType",
            "filterBy",
            "id",
            "label",
            "matchPercentage",
            "name",
            "proto",
            "severity",
            "type"
          ]
        }
      }
    },
    "fortios:dlp/ProfileRuleSensitivity:ProfileRuleSensitivity": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Select a DLP sensitivity.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:dlp/ProfileRuleSensor:ProfileRuleSensor": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:dlp/SensorEntry:SensorEntry": {
      "properties": {
        "count": {
          "type": "integer",
          "description": "Count of dictionary matches to trigger sensor entry match (Dictionary might not be able to trigger more than once based on its 'repeat' option, 1 - 255, default = 1).\n"
        },
        "dictionary": {
          "type": "string",
          "description": "Select a DLP dictionary.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this entry. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "count",
            "dictionary",
            "id",
            "status"
          ]
        }
      }
    },
    "fortios:dlp/SensorFilter:SensorFilter": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to take with content that this DLP sensor matches. Valid values: `allow`, `log-only`, `block`, `quarantine-ip`.\n"
        },
        "archive": {
          "type": "string",
          "description": "Enable/disable DLP archiving. Valid values: `disable`, `enable`.\n"
        },
        "companyIdentifier": {
          "type": "string",
          "description": "Enter a company identifier watermark to match. Only watermarks that your company has placed on the files are matched.\n"
        },
        "expiry": {
          "type": "string",
          "description": "Quarantine duration in days, hours, minutes (format = dddhhmm).\n"
        },
        "fileSize": {
          "type": "integer",
          "description": "Match files this size or larger (0 - 4294967295 kbytes).\n"
        },
        "fileType": {
          "type": "integer",
          "description": "Select the number of a DLP file pattern table to match.\n"
        },
        "filterBy": {
          "type": "string",
          "description": "Select the type of content to match.\n"
        },
        "fpSensitivities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FSensorFilterFpSensitivity:SensorFilterFpSensitivity"
          },
          "description": "Select a DLP file pattern sensitivity to match. The structure of `fp_sensitivity` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "matchPercentage": {
          "type": "integer",
          "description": "Percentage of fingerprints in the fingerprint databases designated with the selected fp-sensitivity to match.\n"
        },
        "name": {
          "type": "string",
          "description": "Filter name.\n"
        },
        "proto": {
          "type": "string",
          "description": "Check messages or files over one or more of these protocols.\n"
        },
        "regexp": {
          "type": "string",
          "description": "Enter a regular expression to match (max. 255 characters).\n"
        },
        "sensitivities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FSensorFilterSensitivity:SensorFilterSensitivity"
          },
          "description": "Select a DLP file pattern sensitivity to match. The structure of `sensitivity` block is documented below.\n"
        },
        "severity": {
          "type": "string",
          "description": "Select the severity or threat level that matches this filter. Valid values: `info`, `low`, `medium`, `high`, `critical`.\n"
        },
        "type": {
          "type": "string",
          "description": "Select whether to check the content of messages (an email message) or files (downloaded files or email attachments).  Valid values: `file`, `message`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "archive",
            "companyIdentifier",
            "expiry",
            "fileSize",
            "fileType",
            "filterBy",
            "id",
            "matchPercentage",
            "name",
            "proto",
            "regexp",
            "severity",
            "type"
          ]
        }
      }
    },
    "fortios:dlp/SensorFilterFpSensitivity:SensorFilterFpSensitivity": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Select a DLP sensitivity.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:dlp/SensorFilterSensitivity:SensorFilterSensitivity": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Select a DLP sensitivity.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:dpdk/GlobalInterface:GlobalInterface": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Physical interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileDeviceGroup:ProfileDeviceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Device group object from available options.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileForticlientAndroidSettings:ProfileForticlientAndroidSettings": {
      "properties": {
        "disableWfWhenProtected": {
          "type": "string",
          "description": "Enable/disable FortiClient web category filtering when protected by FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "forticlientAdvancedVpn": {
          "type": "string",
          "description": "Enable/disable advanced FortiClient VPN configuration. Valid values: `enable`, `disable`.\n"
        },
        "forticlientAdvancedVpnBuffer": {
          "type": "string",
          "description": "Advanced FortiClient VPN configuration.\n"
        },
        "forticlientVpnProvisioning": {
          "type": "string",
          "description": "Enable/disable FortiClient VPN provisioning. Valid values: `enable`, `disable`.\n"
        },
        "forticlientVpnSettings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientAndroidSettingsForticlientVpnSetting:ProfileForticlientAndroidSettingsForticlientVpnSetting"
          },
          "description": "FortiClient VPN settings. The structure of `forticlient_vpn_settings` block is documented below.\n"
        },
        "forticlientWf": {
          "type": "string",
          "description": "Enable/disable FortiClient web filtering. Valid values: `enable`, `disable`.\n"
        },
        "forticlientWfProfile": {
          "type": "string",
          "description": "The FortiClient web filter profile to apply.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "disableWfWhenProtected",
            "forticlientAdvancedVpn",
            "forticlientVpnProvisioning",
            "forticlientWf",
            "forticlientWfProfile"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileForticlientAndroidSettingsForticlientVpnSetting:ProfileForticlientAndroidSettingsForticlientVpnSetting": {
      "properties": {
        "authMethod": {
          "type": "string",
          "description": "Authentication method. Valid values: `psk`, `certificate`.\n"
        },
        "name": {
          "type": "string",
          "description": "VPN name.\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Pre-shared secret for PSK authentication.\n",
          "secret": true
        },
        "remoteGw": {
          "type": "string",
          "description": "IP address or FQDN of the remote VPN gateway.\n"
        },
        "sslvpnAccessPort": {
          "type": "integer",
          "description": "SSL VPN access port (1 - 65535).\n"
        },
        "sslvpnRequireCertificate": {
          "type": "string",
          "description": "Enable/disable requiring SSL VPN client certificate. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "VPN type (IPsec or SSL VPN). Valid values: `ipsec`, `ssl`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authMethod",
            "name",
            "remoteGw",
            "sslvpnAccessPort",
            "sslvpnRequireCertificate",
            "type"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileForticlientIosSettings:ProfileForticlientIosSettings": {
      "properties": {
        "clientVpnProvisioning": {
          "type": "string",
          "description": "FortiClient VPN provisioning. Valid values: `enable`, `disable`.\n"
        },
        "clientVpnSettings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientIosSettingsClientVpnSetting:ProfileForticlientIosSettingsClientVpnSetting"
          },
          "description": "FortiClient VPN settings. The structure of `client_vpn_settings` block is documented below.\n"
        },
        "configurationContent": {
          "type": "string",
          "description": "Content of configuration profile.\n"
        },
        "configurationName": {
          "type": "string",
          "description": "Name of configuration profile.\n"
        },
        "disableWfWhenProtected": {
          "type": "string",
          "description": "Enable/disable FortiClient web category filtering when protected by FortiGate. Valid values: `enable`, `disable`.\n"
        },
        "distributeConfigurationProfile": {
          "type": "string",
          "description": "Enable/disable configuration profile (.mobileconfig file) distribution. Valid values: `enable`, `disable`.\n"
        },
        "forticlientWf": {
          "type": "string",
          "description": "Enable/disable FortiClient web filtering. Valid values: `enable`, `disable`.\n"
        },
        "forticlientWfProfile": {
          "type": "string",
          "description": "The FortiClient web filter profile to apply.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "clientVpnProvisioning",
            "configurationName",
            "disableWfWhenProtected",
            "distributeConfigurationProfile",
            "forticlientWf",
            "forticlientWfProfile"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileForticlientIosSettingsClientVpnSetting:ProfileForticlientIosSettingsClientVpnSetting": {
      "properties": {
        "authMethod": {
          "type": "string",
          "description": "Authentication method. Valid values: `psk`, `certificate`.\n"
        },
        "name": {
          "type": "string",
          "description": "VPN name.\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Pre-shared secret for PSK authentication.\n",
          "secret": true
        },
        "remoteGw": {
          "type": "string",
          "description": "IP address or FQDN of the remote VPN gateway.\n"
        },
        "sslvpnAccessPort": {
          "type": "integer",
          "description": "SSL VPN access port (1 - 65535).\n"
        },
        "sslvpnRequireCertificate": {
          "type": "string",
          "description": "Enable/disable requiring SSL VPN client certificate. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "VPN type (IPsec or SSL VPN). Valid values: `ipsec`, `ssl`.\n"
        },
        "vpnConfigurationContent": {
          "type": "string",
          "description": "Content of VPN configuration.\n"
        },
        "vpnConfigurationName": {
          "type": "string",
          "description": "Name of VPN configuration.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authMethod",
            "name",
            "remoteGw",
            "sslvpnAccessPort",
            "sslvpnRequireCertificate",
            "type",
            "vpnConfigurationName"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileForticlientWinmacSettings:ProfileForticlientWinmacSettings": {
      "properties": {
        "avRealtimeProtection": {
          "type": "string",
          "description": "Enable/disable FortiClient AntiVirus real-time protection. Valid values: `enable`, `disable`.\n"
        },
        "avSignatureUpToDate": {
          "type": "string",
          "description": "Enable/disable FortiClient AV signature updates. Valid values: `enable`, `disable`.\n"
        },
        "forticlientApplicationFirewall": {
          "type": "string",
          "description": "Enable/disable the FortiClient application firewall. Valid values: `enable`, `disable`.\n"
        },
        "forticlientApplicationFirewallList": {
          "type": "string",
          "description": "FortiClient application firewall rule list.\n"
        },
        "forticlientAv": {
          "type": "string",
          "description": "Enable/disable FortiClient AntiVirus scanning. Valid values: `enable`, `disable`.\n"
        },
        "forticlientEmsCompliance": {
          "type": "string",
          "description": "Enable/disable FortiClient Enterprise Management Server (EMS) compliance. Valid values: `enable`, `disable`.\n"
        },
        "forticlientEmsComplianceAction": {
          "type": "string",
          "description": "FortiClient EMS compliance action. Valid values: `block`, `warning`.\n"
        },
        "forticlientEmsEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientWinmacSettingsForticlientEmsEntry:ProfileForticlientWinmacSettingsForticlientEmsEntry"
          },
          "description": "FortiClient EMS entries. The structure of `forticlient_ems_entries` block is documented below.\n"
        },
        "forticlientLinuxVer": {
          "type": "string",
          "description": "Minimum FortiClient Linux version.\n"
        },
        "forticlientLogUpload": {
          "type": "string",
          "description": "Enable/disable uploading FortiClient logs. Valid values: `enable`, `disable`.\n"
        },
        "forticlientLogUploadLevel": {
          "type": "string",
          "description": "Select the FortiClient logs to upload. Valid values: `traffic`, `vulnerability`, `event`.\n"
        },
        "forticlientLogUploadServer": {
          "type": "string",
          "description": "IP address or FQDN of the server to which to upload FortiClient logs.\n"
        },
        "forticlientMacVer": {
          "type": "string",
          "description": "Minimum FortiClient Mac OS version.\n"
        },
        "forticlientMinimumSoftwareVersion": {
          "type": "string",
          "description": "Enable/disable requiring clients to run FortiClient with a minimum software version number. Valid values: `enable`, `disable`.\n"
        },
        "forticlientOperatingSystems": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientWinmacSettingsForticlientOperatingSystem:ProfileForticlientWinmacSettingsForticlientOperatingSystem"
          },
          "description": "FortiClient operating system. The structure of `forticlient_operating_system` block is documented below.\n"
        },
        "forticlientOwnFiles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientWinmacSettingsForticlientOwnFile:ProfileForticlientWinmacSettingsForticlientOwnFile"
          },
          "description": "Checking the path and filename of the FortiClient application. The structure of `forticlient_own_file` block is documented below.\n"
        },
        "forticlientRegistrationComplianceAction": {
          "type": "string",
          "description": "FortiClient registration compliance action. Valid values: `block`, `warning`.\n"
        },
        "forticlientRegistryEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientWinmacSettingsForticlientRegistryEntry:ProfileForticlientWinmacSettingsForticlientRegistryEntry"
          },
          "description": "FortiClient registry entry. The structure of `forticlient_registry_entry` block is documented below.\n"
        },
        "forticlientRunningApps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientWinmacSettingsForticlientRunningApp:ProfileForticlientWinmacSettingsForticlientRunningApp"
          },
          "description": "Use FortiClient to verify if the listed applications are running on the client. The structure of `forticlient_running_app` block is documented below.\n"
        },
        "forticlientSecurityPosture": {
          "type": "string",
          "description": "Enable/disable FortiClient security posture check options. Valid values: `enable`, `disable`.\n"
        },
        "forticlientSecurityPostureComplianceAction": {
          "type": "string",
          "description": "FortiClient security posture compliance action. Valid values: `block`, `warning`.\n"
        },
        "forticlientSystemCompliance": {
          "type": "string",
          "description": "Enable/disable enforcement of FortiClient system compliance. Valid values: `enable`, `disable`.\n"
        },
        "forticlientSystemComplianceAction": {
          "type": "string",
          "description": "Block or warn clients not compliant with FortiClient requirements. Valid values: `block`, `warning`.\n"
        },
        "forticlientVulnScan": {
          "type": "string",
          "description": "Enable/disable FortiClient vulnerability scanning. Valid values: `enable`, `disable`.\n"
        },
        "forticlientVulnScanComplianceAction": {
          "type": "string",
          "description": "FortiClient vulnerability compliance action. Valid values: `block`, `warning`.\n"
        },
        "forticlientVulnScanEnforce": {
          "type": "string",
          "description": "Configure the level of the vulnerability found that causes a FortiClient vulnerability compliance action. Valid values: `critical`, `high`, `medium`, `low`, `info`.\n"
        },
        "forticlientVulnScanEnforceGrace": {
          "type": "integer",
          "description": "FortiClient vulnerability scan enforcement grace period (0 - 30 days, default = 1).\n"
        },
        "forticlientVulnScanExempt": {
          "type": "string",
          "description": "Enable/disable compliance exemption for vulnerabilities that cannot be patched automatically. Valid values: `enable`, `disable`.\n"
        },
        "forticlientWf": {
          "type": "string",
          "description": "Enable/disable FortiClient web filtering. Valid values: `enable`, `disable`.\n"
        },
        "forticlientWfProfile": {
          "type": "string",
          "description": "The FortiClient web filter profile to apply.\n"
        },
        "forticlientWinVer": {
          "type": "string",
          "description": "Minimum FortiClient Windows version.\n"
        },
        "osAvSoftwareInstalled": {
          "type": "string",
          "description": "Enable/disable checking for OS recognized AntiVirus software. Valid values: `enable`, `disable`.\n"
        },
        "sandboxAddress": {
          "type": "string",
          "description": "FortiSandbox address.\n"
        },
        "sandboxAnalysis": {
          "type": "string",
          "description": "Enable/disable sending files to FortiSandbox for analysis. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "avRealtimeProtection",
            "avSignatureUpToDate",
            "forticlientApplicationFirewall",
            "forticlientApplicationFirewallList",
            "forticlientAv",
            "forticlientEmsCompliance",
            "forticlientEmsComplianceAction",
            "forticlientLinuxVer",
            "forticlientLogUpload",
            "forticlientLogUploadLevel",
            "forticlientLogUploadServer",
            "forticlientMacVer",
            "forticlientMinimumSoftwareVersion",
            "forticlientRegistrationComplianceAction",
            "forticlientSecurityPosture",
            "forticlientSecurityPostureComplianceAction",
            "forticlientSystemCompliance",
            "forticlientSystemComplianceAction",
            "forticlientVulnScan",
            "forticlientVulnScanComplianceAction",
            "forticlientVulnScanEnforce",
            "forticlientVulnScanEnforceGrace",
            "forticlientVulnScanExempt",
            "forticlientWf",
            "forticlientWfProfile",
            "forticlientWinVer",
            "osAvSoftwareInstalled",
            "sandboxAddress",
            "sandboxAnalysis"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileForticlientWinmacSettingsForticlientEmsEntry:ProfileForticlientWinmacSettingsForticlientEmsEntry": {
      "properties": {
        "name": {
          "type": "string",
          "description": "FortiClient EMS name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileForticlientWinmacSettingsForticlientOperatingSystem:ProfileForticlientWinmacSettingsForticlientOperatingSystem": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Operating system entry ID.\n"
        },
        "osName": {
          "type": "string",
          "description": "Customize operating system name or Mac OS format:x.x.x\n"
        },
        "osType": {
          "type": "string",
          "description": "Operating system type. Valid values: `custom`, `mac-os`, `win-7`, `win-80`, `win-81`, `win-10`, `win-2000`, `win-home-svr`, `win-svr-10`, `win-svr-2003`, `win-svr-2003-r2`, `win-svr-2008`, `win-svr-2008-r2`, `win-svr-2012`, `win-svr-2012-r2`, `win-sto-svr-2003`, `win-vista`, `win-xp`, `ubuntu-linux`, `centos-linux`, `redhat-linux`, `fedora-linux`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "osName",
            "osType"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileForticlientWinmacSettingsForticlientOwnFile:ProfileForticlientWinmacSettingsForticlientOwnFile": {
      "properties": {
        "file": {
          "type": "string",
          "description": "File path and name.\n"
        },
        "id": {
          "type": "integer",
          "description": "File ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "file",
            "id"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileForticlientWinmacSettingsForticlientRegistryEntry:ProfileForticlientWinmacSettingsForticlientRegistryEntry": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Registry entry ID.\n"
        },
        "registryEntry": {
          "type": "string",
          "description": "Registry entry.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "registryEntry"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileForticlientWinmacSettingsForticlientRunningApp:ProfileForticlientWinmacSettingsForticlientRunningApp": {
      "properties": {
        "appName": {
          "type": "string",
          "description": "Application name.\n"
        },
        "appSha256Signature": {
          "type": "string",
          "description": "App's SHA256 signature.\n"
        },
        "appSha256Signature2": {
          "type": "string",
          "description": "App's SHA256 Signature.\n"
        },
        "appSha256Signature3": {
          "type": "string",
          "description": "App's SHA256 Signature.\n"
        },
        "appSha256Signature4": {
          "type": "string",
          "description": "App's SHA256 Signature.\n"
        },
        "applicationCheckRule": {
          "type": "string",
          "description": "Application check rule. Valid values: `present`, `absent`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Application ID.\n"
        },
        "processName": {
          "type": "string",
          "description": "Process name.\n"
        },
        "processName2": {
          "type": "string",
          "description": "Process name.\n"
        },
        "processName3": {
          "type": "string",
          "description": "Process name.\n"
        },
        "processName4": {
          "type": "string",
          "description": "Process name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "appName",
            "appSha256Signature",
            "appSha256Signature2",
            "appSha256Signature3",
            "appSha256Signature4",
            "applicationCheckRule",
            "id",
            "processName",
            "processName2",
            "processName3",
            "processName4"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileOnNetAddr:ProfileOnNetAddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address object from available options.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileSrcAddr:ProfileSrcAddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address object from available options.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileUser:ProfileUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:endpointcontrol/ProfileUserGroup:ProfileUserGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:extendercontroller/Extender1ControllerReport:Extender1ControllerReport": {
      "properties": {
        "interval": {
          "type": "integer",
          "description": "Controller report interval.\n"
        },
        "signalThreshold": {
          "type": "integer",
          "description": "Controller report signal threshold.\n\nThe `modem1` block supports:\n"
        },
        "status": {
          "type": "string",
          "description": "FortiExtender controller report status. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interval",
            "signalThreshold",
            "status"
          ]
        }
      }
    },
    "fortios:extendercontroller/Extender1Modem1:Extender1Modem1": {
      "properties": {
        "autoSwitch": {
          "$ref": "#/types/fortios:extendercontroller%2FExtender1Modem1AutoSwitch:Extender1Modem1AutoSwitch"
        },
        "connStatus": {
          "type": "integer"
        },
        "defaultSim": {
          "type": "string"
        },
        "gps": {
          "type": "string"
        },
        "ifname": {
          "type": "string"
        },
        "preferredCarrier": {
          "type": "string"
        },
        "redundantIntf": {
          "type": "string"
        },
        "redundantMode": {
          "type": "string"
        },
        "sim1Pin": {
          "type": "string"
        },
        "sim1PinCode": {
          "type": "string",
          "secret": true
        },
        "sim2Pin": {
          "type": "string"
        },
        "sim2PinCode": {
          "type": "string",
          "secret": true
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoSwitch",
            "connStatus",
            "defaultSim",
            "gps",
            "ifname",
            "preferredCarrier",
            "redundantIntf",
            "redundantMode",
            "sim1Pin",
            "sim2Pin"
          ]
        }
      }
    },
    "fortios:extendercontroller/Extender1Modem1AutoSwitch:Extender1Modem1AutoSwitch": {
      "properties": {
        "dataplan": {
          "type": "string",
          "description": "Automatically switch based on data usage. Valid values: `disable`, `enable`.\n"
        },
        "disconnect": {
          "type": "string",
          "description": "Auto switch by disconnect. Valid values: `disable`, `enable`.\n"
        },
        "disconnectPeriod": {
          "type": "integer",
          "description": "Automatically switch based on disconnect period.\n"
        },
        "disconnectThreshold": {
          "type": "integer",
          "description": "Automatically switch based on disconnect threshold.\n"
        },
        "signal": {
          "type": "string",
          "description": "Automatically switch based on signal strength. Valid values: `disable`, `enable`.\n"
        },
        "switchBack": {
          "type": "string",
          "description": "Auto switch with switch back multi-options. Valid values: `time`, `timer`.\n"
        },
        "switchBackTime": {
          "type": "string",
          "description": "Automatically switch over to preferred SIM/carrier at a specified time in UTC (HH:MM).\n"
        },
        "switchBackTimer": {
          "type": "integer",
          "description": "Automatically switch over to preferred SIM/carrier after the given time (3600 - 2147483647 sec).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataplan",
            "disconnect",
            "disconnectPeriod",
            "disconnectThreshold",
            "signal",
            "switchBack",
            "switchBackTime",
            "switchBackTimer"
          ]
        }
      }
    },
    "fortios:extendercontroller/Extender1Modem2:Extender1Modem2": {
      "properties": {
        "autoSwitch": {
          "$ref": "#/types/fortios:extendercontroller%2FExtender1Modem2AutoSwitch:Extender1Modem2AutoSwitch"
        },
        "connStatus": {
          "type": "integer"
        },
        "defaultSim": {
          "type": "string"
        },
        "gps": {
          "type": "string"
        },
        "ifname": {
          "type": "string"
        },
        "preferredCarrier": {
          "type": "string"
        },
        "redundantIntf": {
          "type": "string"
        },
        "redundantMode": {
          "type": "string"
        },
        "sim1Pin": {
          "type": "string"
        },
        "sim1PinCode": {
          "type": "string",
          "secret": true
        },
        "sim2Pin": {
          "type": "string"
        },
        "sim2PinCode": {
          "type": "string",
          "secret": true
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoSwitch",
            "connStatus",
            "defaultSim",
            "gps",
            "ifname",
            "preferredCarrier",
            "redundantIntf",
            "redundantMode",
            "sim1Pin",
            "sim2Pin"
          ]
        }
      }
    },
    "fortios:extendercontroller/Extender1Modem2AutoSwitch:Extender1Modem2AutoSwitch": {
      "properties": {
        "dataplan": {
          "type": "string",
          "description": "Automatically switch based on data usage. Valid values: `disable`, `enable`.\n"
        },
        "disconnect": {
          "type": "string",
          "description": "Auto switch by disconnect. Valid values: `disable`, `enable`.\n"
        },
        "disconnectPeriod": {
          "type": "integer",
          "description": "Automatically switch based on disconnect period.\n"
        },
        "disconnectThreshold": {
          "type": "integer",
          "description": "Automatically switch based on disconnect threshold.\n"
        },
        "signal": {
          "type": "string",
          "description": "Automatically switch based on signal strength. Valid values: `disable`, `enable`.\n"
        },
        "switchBack": {
          "type": "string",
          "description": "Auto switch with switch back multi-options. Valid values: `time`, `timer`.\n"
        },
        "switchBackTime": {
          "type": "string",
          "description": "Automatically switch over to preferred SIM/carrier at a specified time in UTC (HH:MM).\n"
        },
        "switchBackTimer": {
          "type": "integer",
          "description": "Automatically switch over to preferred SIM/carrier after the given time (3600 - 2147483647 sec).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataplan",
            "disconnect",
            "disconnectPeriod",
            "disconnectThreshold",
            "signal",
            "switchBack",
            "switchBackTime",
            "switchBackTimer"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderControllerReport:ExtenderControllerReport": {
      "properties": {
        "interval": {
          "type": "integer",
          "description": "Controller report interval.\n"
        },
        "signalThreshold": {
          "type": "integer",
          "description": "Controller report signal threshold.\n\nThe `modem1` block supports:\n"
        },
        "status": {
          "type": "string",
          "description": "FortiExtender controller report status. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interval",
            "signalThreshold",
            "status"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderModem1:ExtenderModem1": {
      "properties": {
        "autoSwitch": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderModem1AutoSwitch:ExtenderModem1AutoSwitch"
        },
        "connStatus": {
          "type": "integer",
          "description": "Connection status.\n"
        },
        "defaultSim": {
          "type": "string"
        },
        "gps": {
          "type": "string"
        },
        "ifname": {
          "type": "string",
          "description": "FortiExtender interface name.\n"
        },
        "preferredCarrier": {
          "type": "string"
        },
        "redundantIntf": {
          "type": "string",
          "description": "Redundant interface.\n"
        },
        "redundantMode": {
          "type": "string"
        },
        "sim1Pin": {
          "type": "string"
        },
        "sim1PinCode": {
          "type": "string"
        },
        "sim2Pin": {
          "type": "string"
        },
        "sim2PinCode": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoSwitch",
            "connStatus",
            "defaultSim",
            "gps",
            "ifname",
            "preferredCarrier",
            "redundantIntf",
            "redundantMode",
            "sim1Pin",
            "sim2Pin"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderModem1AutoSwitch:ExtenderModem1AutoSwitch": {
      "properties": {
        "dataplan": {
          "type": "string",
          "description": "Automatically switch based on data usage. Valid values: `disable`, `enable`.\n"
        },
        "disconnect": {
          "type": "string",
          "description": "Auto switch by disconnect. Valid values: `disable`, `enable`.\n"
        },
        "disconnectPeriod": {
          "type": "integer",
          "description": "Automatically switch based on disconnect period.\n"
        },
        "disconnectThreshold": {
          "type": "integer",
          "description": "Automatically switch based on disconnect threshold.\n"
        },
        "signal": {
          "type": "string",
          "description": "Automatically switch based on signal strength. Valid values: `disable`, `enable`.\n"
        },
        "switchBack": {
          "type": "string",
          "description": "Auto switch with switch back multi-options. Valid values: `time`, `timer`.\n"
        },
        "switchBackTime": {
          "type": "string",
          "description": "Automatically switch over to preferred SIM/carrier at a specified time in UTC (HH:MM).\n"
        },
        "switchBackTimer": {
          "type": "integer",
          "description": "Automatically switch over to preferred SIM/carrier after the given time (3600 - 2147483647 sec).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataplan",
            "disconnect",
            "disconnectPeriod",
            "disconnectThreshold",
            "signal",
            "switchBack",
            "switchBackTime",
            "switchBackTimer"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderModem2:ExtenderModem2": {
      "properties": {
        "autoSwitch": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderModem2AutoSwitch:ExtenderModem2AutoSwitch"
        },
        "connStatus": {
          "type": "integer",
          "description": "Connection status.\n"
        },
        "defaultSim": {
          "type": "string"
        },
        "gps": {
          "type": "string"
        },
        "ifname": {
          "type": "string",
          "description": "FortiExtender interface name.\n"
        },
        "preferredCarrier": {
          "type": "string"
        },
        "redundantIntf": {
          "type": "string",
          "description": "Redundant interface.\n"
        },
        "redundantMode": {
          "type": "string"
        },
        "sim1Pin": {
          "type": "string"
        },
        "sim1PinCode": {
          "type": "string"
        },
        "sim2Pin": {
          "type": "string"
        },
        "sim2PinCode": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoSwitch",
            "connStatus",
            "defaultSim",
            "gps",
            "ifname",
            "preferredCarrier",
            "redundantIntf",
            "redundantMode",
            "sim1Pin",
            "sim2Pin"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderModem2AutoSwitch:ExtenderModem2AutoSwitch": {
      "properties": {
        "dataplan": {
          "type": "string",
          "description": "Automatically switch based on data usage. Valid values: `disable`, `enable`.\n"
        },
        "disconnect": {
          "type": "string",
          "description": "Auto switch by disconnect. Valid values: `disable`, `enable`.\n"
        },
        "disconnectPeriod": {
          "type": "integer",
          "description": "Automatically switch based on disconnect period.\n"
        },
        "disconnectThreshold": {
          "type": "integer",
          "description": "Automatically switch based on disconnect threshold.\n"
        },
        "signal": {
          "type": "string",
          "description": "Automatically switch based on signal strength. Valid values: `disable`, `enable`.\n"
        },
        "switchBack": {
          "type": "string",
          "description": "Auto switch with switch back multi-options. Valid values: `time`, `timer`.\n"
        },
        "switchBackTime": {
          "type": "string",
          "description": "Automatically switch over to preferred SIM/carrier at a specified time in UTC (HH:MM).\n"
        },
        "switchBackTimer": {
          "type": "integer",
          "description": "Automatically switch over to preferred SIM/carrier after the given time (3600 - 2147483647 sec).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataplan",
            "disconnect",
            "disconnectPeriod",
            "disconnectThreshold",
            "signal",
            "switchBack",
            "switchBackTime",
            "switchBackTimer"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderWanExtension:ExtenderWanExtension": {
      "properties": {
        "modem1Extension": {
          "type": "string",
          "description": "FortiExtender interface name.\n"
        },
        "modem2Extension": {
          "type": "string",
          "description": "FortiExtender interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "modem1Extension",
            "modem2Extension"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileCellular:ExtenderprofileCellular": {
      "properties": {
        "controllerReport": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellularControllerReport:ExtenderprofileCellularControllerReport",
          "description": "FortiExtender controller report configuration. The structure of `controller_report` block is documented below.\n"
        },
        "dataplans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellularDataplan:ExtenderprofileCellularDataplan"
          },
          "description": "Dataplan names. The structure of `dataplan` block is documented below.\n"
        },
        "modem1": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellularModem1:ExtenderprofileCellularModem1",
          "description": "Configuration options for modem 1. The structure of `modem1` block is documented below.\n"
        },
        "modem2": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellularModem2:ExtenderprofileCellularModem2",
          "description": "Configuration options for modem 2. The structure of `modem2` block is documented below.\n"
        },
        "smsNotification": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellularSmsNotification:ExtenderprofileCellularSmsNotification",
          "description": "FortiExtender cellular SMS notification configuration. The structure of `sms_notification` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "controllerReport",
            "modem1",
            "modem2",
            "smsNotification"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileCellularControllerReport:ExtenderprofileCellularControllerReport": {
      "properties": {
        "interval": {
          "type": "integer",
          "description": "Controller report interval.\n"
        },
        "signalThreshold": {
          "type": "integer",
          "description": "Controller report signal threshold.\n"
        },
        "status": {
          "type": "string",
          "description": "FortiExtender controller report status. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interval",
            "signalThreshold",
            "status"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileCellularDataplan:ExtenderprofileCellularDataplan": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Dataplan name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileCellularModem1:ExtenderprofileCellularModem1": {
      "properties": {
        "autoSwitch": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellularModem1AutoSwitch:ExtenderprofileCellularModem1AutoSwitch"
        },
        "connStatus": {
          "type": "integer"
        },
        "defaultSim": {
          "type": "string"
        },
        "gps": {
          "type": "string"
        },
        "preferredCarrier": {
          "type": "string"
        },
        "redundantIntf": {
          "type": "string"
        },
        "redundantMode": {
          "type": "string"
        },
        "sim1Pin": {
          "type": "string"
        },
        "sim1PinCode": {
          "type": "string"
        },
        "sim2Pin": {
          "type": "string"
        },
        "sim2PinCode": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoSwitch",
            "connStatus",
            "defaultSim",
            "gps",
            "preferredCarrier",
            "redundantIntf",
            "redundantMode",
            "sim1Pin",
            "sim2Pin"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileCellularModem1AutoSwitch:ExtenderprofileCellularModem1AutoSwitch": {
      "properties": {
        "dataplan": {
          "type": "string",
          "description": "Automatically switch based on data usage. Valid values: `disable`, `enable`.\n"
        },
        "disconnect": {
          "type": "string",
          "description": "Auto switch by disconnect. Valid values: `disable`, `enable`.\n"
        },
        "disconnectPeriod": {
          "type": "integer",
          "description": "Automatically switch based on disconnect period.\n"
        },
        "disconnectThreshold": {
          "type": "integer",
          "description": "Automatically switch based on disconnect threshold.\n"
        },
        "signal": {
          "type": "string",
          "description": "Automatically switch based on signal strength. Valid values: `disable`, `enable`.\n"
        },
        "switchBack": {
          "type": "string",
          "description": "Auto switch with switch back multi-options. Valid values: `time`, `timer`.\n"
        },
        "switchBackTime": {
          "type": "string",
          "description": "Automatically switch over to preferred SIM/carrier at a specified time in UTC (HH:MM).\n"
        },
        "switchBackTimer": {
          "type": "integer",
          "description": "Automatically switch over to preferred SIM/carrier after the given time (3600 - 2147483647 sec).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataplan",
            "disconnect",
            "disconnectPeriod",
            "disconnectThreshold",
            "signal",
            "switchBack",
            "switchBackTime",
            "switchBackTimer"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileCellularModem2:ExtenderprofileCellularModem2": {
      "properties": {
        "autoSwitch": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellularModem2AutoSwitch:ExtenderprofileCellularModem2AutoSwitch"
        },
        "connStatus": {
          "type": "integer"
        },
        "defaultSim": {
          "type": "string"
        },
        "gps": {
          "type": "string"
        },
        "preferredCarrier": {
          "type": "string"
        },
        "redundantIntf": {
          "type": "string"
        },
        "redundantMode": {
          "type": "string"
        },
        "sim1Pin": {
          "type": "string"
        },
        "sim1PinCode": {
          "type": "string"
        },
        "sim2Pin": {
          "type": "string"
        },
        "sim2PinCode": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoSwitch",
            "connStatus",
            "defaultSim",
            "gps",
            "preferredCarrier",
            "redundantIntf",
            "redundantMode",
            "sim1Pin",
            "sim2Pin"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileCellularModem2AutoSwitch:ExtenderprofileCellularModem2AutoSwitch": {
      "properties": {
        "dataplan": {
          "type": "string",
          "description": "Automatically switch based on data usage. Valid values: `disable`, `enable`.\n"
        },
        "disconnect": {
          "type": "string",
          "description": "Auto switch by disconnect. Valid values: `disable`, `enable`.\n"
        },
        "disconnectPeriod": {
          "type": "integer",
          "description": "Automatically switch based on disconnect period.\n"
        },
        "disconnectThreshold": {
          "type": "integer",
          "description": "Automatically switch based on disconnect threshold.\n"
        },
        "signal": {
          "type": "string",
          "description": "Automatically switch based on signal strength. Valid values: `disable`, `enable`.\n"
        },
        "switchBack": {
          "type": "string",
          "description": "Auto switch with switch back multi-options. Valid values: `time`, `timer`.\n"
        },
        "switchBackTime": {
          "type": "string",
          "description": "Automatically switch over to preferred SIM/carrier at a specified time in UTC (HH:MM).\n"
        },
        "switchBackTimer": {
          "type": "integer",
          "description": "Automatically switch over to preferred SIM/carrier after the given time (3600 - 2147483647 sec).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataplan",
            "disconnect",
            "disconnectPeriod",
            "disconnectThreshold",
            "signal",
            "switchBack",
            "switchBackTime",
            "switchBackTimer"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileCellularSmsNotification:ExtenderprofileCellularSmsNotification": {
      "properties": {
        "alert": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellularSmsNotificationAlert:ExtenderprofileCellularSmsNotificationAlert",
          "description": "SMS alert list. The structure of `alert` block is documented below.\n"
        },
        "receivers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellularSmsNotificationReceiver:ExtenderprofileCellularSmsNotificationReceiver"
          },
          "description": "SMS notification receiver list. The structure of `receiver` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "FortiExtender SMS notification status. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "alert",
            "status"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileCellularSmsNotificationAlert:ExtenderprofileCellularSmsNotificationAlert": {
      "properties": {
        "dataExhausted": {
          "type": "string",
          "description": "Display string when data exhausted.\n"
        },
        "fgtBackupModeSwitch": {
          "type": "string",
          "description": "Display string when FortiGate backup mode switched.\n"
        },
        "lowSignalStrength": {
          "type": "string",
          "description": "Display string when signal strength is low.\n"
        },
        "modeSwitch": {
          "type": "string",
          "description": "Display string when mode is switched.\n"
        },
        "osImageFallback": {
          "type": "string",
          "description": "Display string when falling back to a previous OS image.\n"
        },
        "sessionDisconnect": {
          "type": "string",
          "description": "Display string when session disconnected.\n"
        },
        "systemReboot": {
          "type": "string",
          "description": "Display string when system rebooted.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataExhausted",
            "fgtBackupModeSwitch",
            "lowSignalStrength",
            "modeSwitch",
            "osImageFallback",
            "sessionDisconnect",
            "systemReboot"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileCellularSmsNotificationReceiver:ExtenderprofileCellularSmsNotificationReceiver": {
      "properties": {
        "alert": {
          "type": "string",
          "description": "Alert multi-options. Valid values: `system-reboot`, `data-exhausted`, `session-disconnect`, `low-signal-strength`, `mode-switch`, `os-image-fallback`, `fgt-backup-mode-switch`.\n\nThe `modem1` block supports:\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender SMS notification receiver name.\n"
        },
        "phoneNumber": {
          "type": "string",
          "description": "Receiver phone number.  Format: [+][country code][area code][local phone number].  For example: +16501234567.\n"
        },
        "status": {
          "type": "string",
          "description": "SMS notification receiver status. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "alert",
            "name",
            "phoneNumber",
            "status"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileLanExtension:ExtenderprofileLanExtension": {
      "properties": {
        "backhaulInterface": {
          "type": "string",
          "description": "IPsec phase1 interface.\n"
        },
        "backhaulIp": {
          "type": "string",
          "description": "IPsec phase1 IPv4/FQDN. Used to specify the external IP/FQDN when the FortiGate unit is behind a NAT device.\n"
        },
        "backhauls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileLanExtensionBackhaul:ExtenderprofileLanExtensionBackhaul"
          },
          "description": "LAN extension backhaul tunnel configuration. The structure of `backhaul` block is documented below.\n"
        },
        "ipsecTunnel": {
          "type": "string",
          "description": "IPsec tunnel name.\n"
        },
        "linkLoadbalance": {
          "type": "string",
          "description": "LAN extension link load balance strategy. Valid values: `activebackup`, `loadbalance`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "backhaulInterface",
            "backhaulIp",
            "ipsecTunnel",
            "linkLoadbalance"
          ]
        }
      }
    },
    "fortios:extendercontroller/ExtenderprofileLanExtensionBackhaul:ExtenderprofileLanExtensionBackhaul": {
      "properties": {
        "name": {
          "type": "string",
          "description": "FortiExtender LAN extension backhaul name\n"
        },
        "port": {
          "type": "string",
          "description": "FortiExtender uplink port. Valid values: `wan`, `lte1`, `lte2`, `port1`, `port2`, `port3`, `port4`, `port5`, `sfp`.\n"
        },
        "role": {
          "type": "string",
          "description": "FortiExtender uplink port. Valid values: `primary`, `secondary`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "WRR weight parameter\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "port",
            "role",
            "weight"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderWanExtension:ExtenderWanExtension": {
      "properties": {
        "modem1Extension": {
          "type": "string",
          "description": "FortiExtender interface name.\n"
        },
        "modem2Extension": {
          "type": "string",
          "description": "FortiExtender interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "modem1Extension",
            "modem2Extension"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileCellular:ExtenderprofileCellular": {
      "properties": {
        "controllerReport": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellularControllerReport:ExtenderprofileCellularControllerReport",
          "description": "FortiExtender controller report configuration. The structure of `controller_report` block is documented below.\n"
        },
        "dataplans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellularDataplan:ExtenderprofileCellularDataplan"
          },
          "description": "Dataplan names. The structure of `dataplan` block is documented below.\n"
        },
        "modem1": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellularModem1:ExtenderprofileCellularModem1",
          "description": "Configuration options for modem 1. The structure of `modem1` block is documented below.\n"
        },
        "modem2": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellularModem2:ExtenderprofileCellularModem2",
          "description": "Configuration options for modem 2. The structure of `modem2` block is documented below.\n"
        },
        "smsNotification": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellularSmsNotification:ExtenderprofileCellularSmsNotification",
          "description": "FortiExtender cellular SMS notification configuration. The structure of `sms_notification` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "controllerReport",
            "modem1",
            "modem2",
            "smsNotification"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileCellularControllerReport:ExtenderprofileCellularControllerReport": {
      "properties": {
        "interval": {
          "type": "integer",
          "description": "Controller report interval.\n"
        },
        "signalThreshold": {
          "type": "integer",
          "description": "Controller report signal threshold.\n"
        },
        "status": {
          "type": "string",
          "description": "FortiExtender controller report status. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interval",
            "signalThreshold",
            "status"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileCellularDataplan:ExtenderprofileCellularDataplan": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Dataplan name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileCellularModem1:ExtenderprofileCellularModem1": {
      "properties": {
        "autoSwitch": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellularModem1AutoSwitch:ExtenderprofileCellularModem1AutoSwitch"
        },
        "connStatus": {
          "type": "integer"
        },
        "defaultSim": {
          "type": "string"
        },
        "gps": {
          "type": "string"
        },
        "preferredCarrier": {
          "type": "string"
        },
        "redundantIntf": {
          "type": "string"
        },
        "redundantMode": {
          "type": "string"
        },
        "sim1Pin": {
          "type": "string"
        },
        "sim1PinCode": {
          "type": "string"
        },
        "sim2Pin": {
          "type": "string"
        },
        "sim2PinCode": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoSwitch",
            "connStatus",
            "defaultSim",
            "gps",
            "preferredCarrier",
            "redundantIntf",
            "redundantMode",
            "sim1Pin",
            "sim2Pin"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileCellularModem1AutoSwitch:ExtenderprofileCellularModem1AutoSwitch": {
      "properties": {
        "dataplan": {
          "type": "string",
          "description": "Automatically switch based on data usage. Valid values: `disable`, `enable`.\n"
        },
        "disconnect": {
          "type": "string",
          "description": "Auto switch by disconnect. Valid values: `disable`, `enable`.\n"
        },
        "disconnectPeriod": {
          "type": "integer",
          "description": "Automatically switch based on disconnect period.\n"
        },
        "disconnectThreshold": {
          "type": "integer",
          "description": "Automatically switch based on disconnect threshold.\n"
        },
        "signal": {
          "type": "string",
          "description": "Automatically switch based on signal strength. Valid values: `disable`, `enable`.\n"
        },
        "switchBack": {
          "type": "string",
          "description": "Auto switch with switch back multi-options. Valid values: `time`, `timer`.\n"
        },
        "switchBackTime": {
          "type": "string",
          "description": "Automatically switch over to preferred SIM/carrier at a specified time in UTC (HH:MM).\n"
        },
        "switchBackTimer": {
          "type": "integer",
          "description": "Automatically switch over to preferred SIM/carrier after the given time (3600 - 2147483647 sec).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataplan",
            "disconnect",
            "disconnectPeriod",
            "disconnectThreshold",
            "signal",
            "switchBack",
            "switchBackTime",
            "switchBackTimer"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileCellularModem2:ExtenderprofileCellularModem2": {
      "properties": {
        "autoSwitch": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellularModem2AutoSwitch:ExtenderprofileCellularModem2AutoSwitch"
        },
        "connStatus": {
          "type": "integer"
        },
        "defaultSim": {
          "type": "string"
        },
        "gps": {
          "type": "string"
        },
        "preferredCarrier": {
          "type": "string"
        },
        "redundantIntf": {
          "type": "string"
        },
        "redundantMode": {
          "type": "string"
        },
        "sim1Pin": {
          "type": "string"
        },
        "sim1PinCode": {
          "type": "string"
        },
        "sim2Pin": {
          "type": "string"
        },
        "sim2PinCode": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoSwitch",
            "connStatus",
            "defaultSim",
            "gps",
            "preferredCarrier",
            "redundantIntf",
            "redundantMode",
            "sim1Pin",
            "sim2Pin"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileCellularModem2AutoSwitch:ExtenderprofileCellularModem2AutoSwitch": {
      "properties": {
        "dataplan": {
          "type": "string",
          "description": "Automatically switch based on data usage. Valid values: `disable`, `enable`.\n"
        },
        "disconnect": {
          "type": "string",
          "description": "Auto switch by disconnect. Valid values: `disable`, `enable`.\n"
        },
        "disconnectPeriod": {
          "type": "integer",
          "description": "Automatically switch based on disconnect period.\n"
        },
        "disconnectThreshold": {
          "type": "integer",
          "description": "Automatically switch based on disconnect threshold.\n"
        },
        "signal": {
          "type": "string",
          "description": "Automatically switch based on signal strength. Valid values: `disable`, `enable`.\n"
        },
        "switchBack": {
          "type": "string",
          "description": "Auto switch with switch back multi-options. Valid values: `time`, `timer`.\n"
        },
        "switchBackTime": {
          "type": "string",
          "description": "Automatically switch over to preferred SIM/carrier at a specified time in UTC (HH:MM).\n"
        },
        "switchBackTimer": {
          "type": "integer",
          "description": "Automatically switch over to preferred SIM/carrier after the given time (3600 - 2147483647 sec).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataplan",
            "disconnect",
            "disconnectPeriod",
            "disconnectThreshold",
            "signal",
            "switchBack",
            "switchBackTime",
            "switchBackTimer"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileCellularSmsNotification:ExtenderprofileCellularSmsNotification": {
      "properties": {
        "alert": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellularSmsNotificationAlert:ExtenderprofileCellularSmsNotificationAlert",
          "description": "SMS alert list. The structure of `alert` block is documented below.\n"
        },
        "receivers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellularSmsNotificationReceiver:ExtenderprofileCellularSmsNotificationReceiver"
          },
          "description": "SMS notification receiver list. The structure of `receiver` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "FortiExtender SMS notification status. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "alert",
            "status"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileCellularSmsNotificationAlert:ExtenderprofileCellularSmsNotificationAlert": {
      "properties": {
        "dataExhausted": {
          "type": "string",
          "description": "Display string when data exhausted.\n"
        },
        "fgtBackupModeSwitch": {
          "type": "string",
          "description": "Display string when FortiGate backup mode switched.\n"
        },
        "lowSignalStrength": {
          "type": "string",
          "description": "Display string when signal strength is low.\n"
        },
        "modeSwitch": {
          "type": "string",
          "description": "Display string when mode is switched.\n"
        },
        "osImageFallback": {
          "type": "string",
          "description": "Display string when falling back to a previous OS image.\n"
        },
        "sessionDisconnect": {
          "type": "string",
          "description": "Display string when session disconnected.\n"
        },
        "systemReboot": {
          "type": "string",
          "description": "Display string when system rebooted.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataExhausted",
            "fgtBackupModeSwitch",
            "lowSignalStrength",
            "modeSwitch",
            "osImageFallback",
            "sessionDisconnect",
            "systemReboot"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileCellularSmsNotificationReceiver:ExtenderprofileCellularSmsNotificationReceiver": {
      "properties": {
        "alert": {
          "type": "string",
          "description": "Alert multi-options. Valid values: `system-reboot`, `data-exhausted`, `session-disconnect`, `low-signal-strength`, `mode-switch`, `os-image-fallback`, `fgt-backup-mode-switch`.\n\nThe `modem1` block supports:\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender SMS notification receiver name.\n"
        },
        "phoneNumber": {
          "type": "string",
          "description": "Receiver phone number. Format: [+][country code][area code][local phone number]. For example, +16501234567.\n"
        },
        "status": {
          "type": "string",
          "description": "SMS notification receiver status. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "alert",
            "name",
            "phoneNumber",
            "status"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileLanExtension:ExtenderprofileLanExtension": {
      "properties": {
        "backhaulInterface": {
          "type": "string",
          "description": "IPsec phase1 interface.\n"
        },
        "backhaulIp": {
          "type": "string",
          "description": "IPsec phase1 IPv4/FQDN. Used to specify the external IP/FQDN when the FortiGate unit is behind a NAT device.\n"
        },
        "backhauls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileLanExtensionBackhaul:ExtenderprofileLanExtensionBackhaul"
          },
          "description": "LAN extension backhaul tunnel configuration. The structure of `backhaul` block is documented below.\n"
        },
        "ipsecTunnel": {
          "type": "string",
          "description": "IPsec tunnel name.\n"
        },
        "linkLoadbalance": {
          "type": "string",
          "description": "LAN extension link load balance strategy. Valid values: `activebackup`, `loadbalance`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "backhaulInterface",
            "backhaulIp",
            "ipsecTunnel",
            "linkLoadbalance"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileLanExtensionBackhaul:ExtenderprofileLanExtensionBackhaul": {
      "properties": {
        "name": {
          "type": "string",
          "description": "FortiExtender LAN extension backhaul name.\n"
        },
        "port": {
          "type": "string",
          "description": "FortiExtender uplink port. Valid values: `wan`, `lte1`, `lte2`, `port1`, `port2`, `port3`, `port4`, `port5`, `sfp`.\n"
        },
        "role": {
          "type": "string",
          "description": "FortiExtender uplink port. Valid values: `primary`, `secondary`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "WRR weight parameter.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "port",
            "role",
            "weight"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileWifi:ExtenderprofileWifi": {
      "properties": {
        "country": {
          "type": "string",
          "description": "Country in which this FEX will operate (default = NA). Valid values: `--`, `AF`, `AL`, `DZ`, `AS`, `AO`, `AR`, `AM`, `AU`, `AT`, `AZ`, `BS`, `BH`, `BD`, `BB`, `BY`, `BE`, `BZ`, `BJ`, `BM`, `BT`, `BO`, `BA`, `BW`, `BR`, `BN`, `BG`, `BF`, `KH`, `CM`, `KY`, `CF`, `TD`, `CL`, `CN`, `CX`, `CO`, `CG`, `CD`, `CR`, `HR`, `CY`, `CZ`, `DK`, `DJ`, `DM`, `DO`, `EC`, `EG`, `SV`, `ET`, `EE`, `GF`, `PF`, `FO`, `FJ`, `FI`, `FR`, `GA`, `GE`, `GM`, `DE`, `GH`, `GI`, `GR`, `GL`, `GD`, `GP`, `GU`, `GT`, `GY`, `HT`, `HN`, `HK`, `HU`, `IS`, `IN`, `ID`, `IQ`, `IE`, `IM`, `IL`, `IT`, `CI`, `JM`, `JO`, `KZ`, `KE`, `KR`, `KW`, `LA`, `LV`, `LB`, `LS`, `LR`, `LY`, `LI`, `LT`, `LU`, `MO`, `MK`, `MG`, `MW`, `MY`, `MV`, `ML`, `MT`, `MH`, `MQ`, `MR`, `MU`, `YT`, `MX`, `FM`, `MD`, `MC`, `MN`, `MA`, `MZ`, `MM`, `NA`, `NP`, `NL`, `AN`, `AW`, `NZ`, `NI`, `NE`, `NG`, `NO`, `MP`, `OM`, `PK`, `PW`, `PA`, `PG`, `PY`, `PE`, `PH`, `PL`, `PT`, `PR`, `QA`, `RE`, `RO`, `RU`, `RW`, `BL`, `KN`, `LC`, `MF`, `PM`, `VC`, `SA`, `SN`, `RS`, `ME`, `SL`, `SG`, `SK`, `SI`, `SO`, `ZA`, `ES`, `LK`, `SR`, `SZ`, `SE`, `CH`, `TW`, `TZ`, `TH`, `TG`, `TT`, `TN`, `TR`, `TM`, `AE`, `TC`, `UG`, `UA`, `GB`, `US`, `PS`, `UY`, `UZ`, `VU`, `VE`, `VN`, `VI`, `WF`, `YE`, `ZM`, `ZW`, `JP`, `CA`.\n"
        },
        "radio1": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileWifiRadio1:ExtenderprofileWifiRadio1",
          "description": "Radio-1 config for Wi-Fi 2.4GHz The structure of `radio_1` block is documented below.\n"
        },
        "radio2": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileWifiRadio2:ExtenderprofileWifiRadio2",
          "description": "Radio-2 config for Wi-Fi 5GHz The structure of `radio_2` block is documented below.\n\nThe `radio_1` block supports:\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "country",
            "radio1",
            "radio2"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileWifiRadio1:ExtenderprofileWifiRadio1": {
      "properties": {
        "band": {
          "type": "string"
        },
        "bandwidth": {
          "type": "string"
        },
        "beaconInterval": {
          "type": "integer"
        },
        "bssColor": {
          "type": "integer"
        },
        "bssColorMode": {
          "type": "string"
        },
        "channel": {
          "type": "string"
        },
        "extensionChannel": {
          "type": "string"
        },
        "guardInterval": {
          "type": "string"
        },
        "lanExtVap": {
          "type": "string"
        },
        "localVaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileWifiRadio1LocalVap:ExtenderprofileWifiRadio1LocalVap"
          }
        },
        "maxClients": {
          "type": "integer"
        },
        "mode": {
          "type": "string"
        },
        "n80211d": {
          "type": "string"
        },
        "operatingStandard": {
          "type": "string"
        },
        "powerLevel": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "band",
            "bandwidth",
            "beaconInterval",
            "bssColor",
            "bssColorMode",
            "channel",
            "extensionChannel",
            "guardInterval",
            "lanExtVap",
            "maxClients",
            "mode",
            "n80211d",
            "operatingStandard",
            "powerLevel",
            "status"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileWifiRadio1LocalVap:ExtenderprofileWifiRadio1LocalVap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Wi-Fi local VAP name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileWifiRadio2:ExtenderprofileWifiRadio2": {
      "properties": {
        "band": {
          "type": "string"
        },
        "bandwidth": {
          "type": "string"
        },
        "beaconInterval": {
          "type": "integer"
        },
        "bssColor": {
          "type": "integer"
        },
        "bssColorMode": {
          "type": "string"
        },
        "channel": {
          "type": "string"
        },
        "extensionChannel": {
          "type": "string"
        },
        "guardInterval": {
          "type": "string"
        },
        "lanExtVap": {
          "type": "string"
        },
        "localVaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileWifiRadio2LocalVap:ExtenderprofileWifiRadio2LocalVap"
          }
        },
        "maxClients": {
          "type": "integer"
        },
        "mode": {
          "type": "string"
        },
        "n80211d": {
          "type": "string"
        },
        "operatingStandard": {
          "type": "string"
        },
        "powerLevel": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "band",
            "bandwidth",
            "beaconInterval",
            "bssColor",
            "bssColorMode",
            "channel",
            "extensionChannel",
            "guardInterval",
            "lanExtVap",
            "maxClients",
            "mode",
            "n80211d",
            "operatingStandard",
            "powerLevel",
            "status"
          ]
        }
      }
    },
    "fortios:extensioncontroller/ExtenderprofileWifiRadio2LocalVap:ExtenderprofileWifiRadio2LocalVap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Wi-Fi local VAP name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:extensioncontroller/FortigateprofileLanExtension:FortigateprofileLanExtension": {
      "properties": {
        "backhaulInterface": {
          "type": "string",
          "description": "IPsec phase1 interface.\n"
        },
        "backhaulIp": {
          "type": "string",
          "description": "IPsec phase1 IPv4/FQDN. Used to specify the external IP/FQDN when the FortiGate unit is behind a NAT device.\n"
        },
        "ipsecTunnel": {
          "type": "string",
          "description": "IPsec tunnel name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "backhaulInterface",
            "backhaulIp",
            "ipsecTunnel"
          ]
        }
      }
    },
    "fortios:filter/dns/DomainfilterEntry:DomainfilterEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to take for domain filter matches. Valid values: `block`, `allow`, `monitor`.\n"
        },
        "domain": {
          "type": "string",
          "description": "Domain entries to be filtered.\n"
        },
        "id": {
          "type": "integer",
          "description": "Id.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this domain filter. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "DNS domain filter type. Valid values: `simple`, `regex`, `wildcard`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "domain",
            "id",
            "status",
            "type"
          ]
        }
      }
    },
    "fortios:filter/dns/ProfileDnsTranslation:ProfileDnsTranslation": {
      "properties": {
        "addrType": {
          "type": "string",
          "description": "DNS translation type (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "dst": {
          "type": "string",
          "description": "IPv4 address or subnet on the external network to substitute for the resolved address in DNS query replies. Can be single IP address or subnet on the external network, but number of addresses must equal number of mapped IP addresses in src.\n"
        },
        "dst6": {
          "type": "string",
          "description": "IPv6 address or subnet on the external network to substitute for the resolved address in DNS query replies. Can be single IP address or subnet on the external network, but number of addresses must equal number of mapped IP addresses in src6.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "netmask": {
          "type": "string",
          "description": "If src and dst are subnets rather than single IP addresses, enter the netmask for both src and dst.\n"
        },
        "prefix": {
          "type": "integer",
          "description": "If src6 and dst6 are subnets rather than single IP addresses, enter the prefix for both src6 and dst6 (1 - 128, default = 128).\n"
        },
        "src": {
          "type": "string",
          "description": "IPv4 address or subnet on the internal network to compare with the resolved address in DNS query replies. If the resolved address matches, the resolved address is substituted with dst.\n"
        },
        "src6": {
          "type": "string",
          "description": "IPv6 address or subnet on the internal network to compare with the resolved address in DNS query replies. If the resolved address matches, the resolved address is substituted with dst6.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this DNS translation entry. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrType",
            "dst",
            "dst6",
            "id",
            "netmask",
            "prefix",
            "src",
            "src6",
            "status"
          ]
        }
      }
    },
    "fortios:filter/dns/ProfileDomainFilter:ProfileDomainFilter": {
      "properties": {
        "domainFilterTable": {
          "type": "integer",
          "description": "DNS domain filter table ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domainFilterTable"
          ]
        }
      }
    },
    "fortios:filter/dns/ProfileExternalIpBlocklist:ProfileExternalIpBlocklist": {
      "properties": {
        "name": {
          "type": "string",
          "description": "External domain block list name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:filter/dns/ProfileFtgdDns:ProfileFtgdDns": {
      "properties": {
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fdns%2FProfileFtgdDnsFilter:ProfileFtgdDnsFilter"
          },
          "description": "FortiGuard DNS domain filters. The structure of `filters` block is documented below.\n"
        },
        "options": {
          "type": "string",
          "description": "FortiGuard DNS filter options. Valid values: `error-allow`, `ftgd-disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "options"
          ]
        }
      }
    },
    "fortios:filter/dns/ProfileFtgdDnsFilter:ProfileFtgdDnsFilter": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to take for DNS requests matching the category. Valid values: `block`, `monitor`.\n"
        },
        "category": {
          "type": "integer",
          "description": "Category number.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID number.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable DNS filter logging for this DNS profile. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "category",
            "id",
            "log"
          ]
        }
      }
    },
    "fortios:filter/dns/ProfileTransparentDnsDatabase:ProfileTransparentDnsDatabase": {
      "properties": {
        "name": {
          "type": "string",
          "description": "DNS database zone name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:filter/email/BlockallowlistEntry:BlockallowlistEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Reject, mark as spam or good email. Valid values: `reject`, `spam`, `clear`.\n"
        },
        "addrType": {
          "type": "string",
          "description": "IP address type. Valid values: `ipv4`, `ipv6`.\n"
        },
        "emailPattern": {
          "type": "string",
          "description": "Email address pattern.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "ip4Subnet": {
          "type": "string",
          "description": "IPv4 network address/subnet mask bits.\n"
        },
        "ip6Subnet": {
          "type": "string",
          "description": "IPv6 network address/subnet mask bits.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Pattern to match.\n"
        },
        "patternType": {
          "type": "string",
          "description": "Wildcard pattern or regular expression. Valid values: `wildcard`, `regexp`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Entry type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "addrType",
            "emailPattern",
            "id",
            "ip4Subnet",
            "ip6Subnet",
            "pattern",
            "patternType",
            "status",
            "type"
          ]
        }
      }
    },
    "fortios:filter/email/BwlEntry:BwlEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Reject, mark as spam or good email. Valid values: `reject`, `spam`, `clear`.\n"
        },
        "addrType": {
          "type": "string",
          "description": "IP address type. Valid values: `ipv4`, `ipv6`.\n"
        },
        "emailPattern": {
          "type": "string",
          "description": "Email address pattern.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "ip4Subnet": {
          "type": "string",
          "description": "IPv4 network address/subnet mask bits.\n"
        },
        "ip6Subnet": {
          "type": "string",
          "description": "IPv6 network address/subnet mask bits.\n"
        },
        "patternType": {
          "type": "string",
          "description": "Wildcard pattern or regular expression. Valid values: `wildcard`, `regexp`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Entry type. Valid values: `ip`, `email`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "addrType",
            "emailPattern",
            "id",
            "ip4Subnet",
            "ip6Subnet",
            "patternType",
            "status",
            "type"
          ]
        }
      }
    },
    "fortios:filter/email/BwordEntry:BwordEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Mark spam or good. Valid values: `spam`, `clear`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Banned word entry ID.\n"
        },
        "language": {
          "type": "string",
          "description": "Language for the banned word. Valid values: `western`, `simch`, `trach`, `japanese`, `korean`, `french`, `thai`, `spanish`.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Pattern for the banned word.\n"
        },
        "patternType": {
          "type": "string",
          "description": "Wildcard pattern or regular expression. Valid values: `wildcard`, `regexp`.\n"
        },
        "score": {
          "type": "integer",
          "description": "Score value.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        },
        "where": {
          "type": "string",
          "description": "Component of the email to be scanned. Valid values: `subject`, `body`, `all`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "language",
            "pattern",
            "patternType",
            "score",
            "status",
            "where"
          ]
        }
      }
    },
    "fortios:filter/email/DnsblEntry:DnsblEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Reject connection or mark as spam email. Valid values: `reject`, `spam`.\n"
        },
        "id": {
          "type": "integer",
          "description": "DNSBL/ORBL entry ID.\n"
        },
        "server": {
          "type": "string",
          "description": "DNSBL or ORBL server name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "server",
            "status"
          ]
        }
      }
    },
    "fortios:filter/email/IptrustEntry:IptrustEntry": {
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Type of address. Valid values: `ipv4`, `ipv6`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Trusted IP entry ID.\n"
        },
        "ip4Subnet": {
          "type": "string",
          "description": "IPv4 network address or network address/subnet mask bits.\n"
        },
        "ip6Subnet": {
          "type": "string",
          "description": "IPv6 network address/subnet mask bits.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrType",
            "id",
            "ip4Subnet",
            "ip6Subnet",
            "status"
          ]
        }
      }
    },
    "fortios:filter/email/MheaderEntry:MheaderEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Mark spam or good. Valid values: `spam`, `clear`.\n"
        },
        "fieldbody": {
          "type": "string",
          "description": "Pattern for the header field body.\n"
        },
        "fieldname": {
          "type": "string",
          "description": "Pattern for header field name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Mime header entry ID.\n"
        },
        "patternType": {
          "type": "string",
          "description": "Wildcard pattern or regular expression. Valid values: `wildcard`, `regexp`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "fieldbody",
            "fieldname",
            "id",
            "patternType",
            "status"
          ]
        }
      }
    },
    "fortios:filter/email/ProfileFileFilter:ProfileFileFilter": {
      "properties": {
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfileFileFilterEntry:ProfileFileFilterEntry"
          },
          "description": "File filter entries. The structure of `entries` block is documented below.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable file filter logging. Valid values: `enable`, `disable`.\n"
        },
        "scanArchiveContents": {
          "type": "string",
          "description": "Enable/disable file filter archive contents scan. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable file filter. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "log",
            "scanArchiveContents",
            "status"
          ]
        }
      }
    },
    "fortios:filter/email/ProfileFileFilterEntry:ProfileFileFilterEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken for matched file. Valid values: `log`, `block`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fileTypes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfileFileFilterEntryFileType:ProfileFileFilterEntryFileType"
          },
          "description": "Select file type. The structure of `file_type` block is documented below.\n"
        },
        "filter": {
          "type": "string",
          "description": "Add a file filter.\n"
        },
        "passwordProtected": {
          "type": "string",
          "description": "Match password-protected files. Valid values: `yes`, `any`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocols to apply with. Valid values: `smtp`, `imap`, `pop3`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "filter",
            "passwordProtected",
            "protocol"
          ]
        }
      }
    },
    "fortios:filter/email/ProfileFileFilterEntryFileType:ProfileFileFilterEntryFileType": {
      "properties": {
        "name": {
          "type": "string",
          "description": "File type name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:filter/email/ProfileGmail:ProfileGmail": {
      "properties": {
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "logAll": {
          "type": "string",
          "description": "Enable/disable logging of all email traffic. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "log",
            "logAll"
          ]
        }
      }
    },
    "fortios:filter/email/ProfileImap:ProfileImap": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action for spam email. Valid values: `pass`, `tag`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "logAll": {
          "type": "string",
          "description": "Enable/disable logging of all email traffic. Valid values: `disable`, `enable`.\n"
        },
        "tagMsg": {
          "type": "string",
          "description": "Subject text or header added to spam email.\n"
        },
        "tagType": {
          "type": "string",
          "description": "Tag subject or header for spam email. Valid values: `subject`, `header`, `spaminfo`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "logAll",
            "tagMsg",
            "tagType"
          ]
        }
      }
    },
    "fortios:filter/email/ProfileMapi:ProfileMapi": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action for spam email. Valid values: `pass`, `discard`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "logAll": {
          "type": "string",
          "description": "Enable/disable logging of all email traffic. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "logAll"
          ]
        }
      }
    },
    "fortios:filter/email/ProfileMsnHotmail:ProfileMsnHotmail": {
      "properties": {
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "logAll": {
          "type": "string",
          "description": "Enable/disable logging of all email traffic. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "log",
            "logAll"
          ]
        }
      }
    },
    "fortios:filter/email/ProfileOtherWebmails:ProfileOtherWebmails": {
      "properties": {
        "logAll": {
          "type": "string",
          "description": "Enable/disable logging of all email traffic. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "logAll"
          ]
        }
      }
    },
    "fortios:filter/email/ProfilePop3:ProfilePop3": {
      "properties": {
        "action": {
          "type": "string"
        },
        "log": {
          "type": "string"
        },
        "logAll": {
          "type": "string"
        },
        "tagMsg": {
          "type": "string"
        },
        "tagType": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "logAll",
            "tagMsg",
            "tagType"
          ]
        }
      }
    },
    "fortios:filter/email/ProfileSmtp:ProfileSmtp": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action for spam email. Valid values: `pass`, `tag`, `discard`.\n"
        },
        "hdrip": {
          "type": "string",
          "description": "Enable/disable SMTP email header IP checks for spamfsip, spamrbl and spambwl filters. Valid values: `disable`, `enable`.\n"
        },
        "localOverride": {
          "type": "string",
          "description": "Enable/disable local filter to override SMTP remote check result. Valid values: `disable`, `enable`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "logAll": {
          "type": "string",
          "description": "Enable/disable logging of all email traffic. Valid values: `disable`, `enable`.\n"
        },
        "tagMsg": {
          "type": "string",
          "description": "Subject text or header added to spam email.\n"
        },
        "tagType": {
          "type": "string",
          "description": "Tag subject or header for spam email. Valid values: `subject`, `header`, `spaminfo`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "hdrip",
            "localOverride",
            "log",
            "logAll",
            "tagMsg",
            "tagType"
          ]
        }
      }
    },
    "fortios:filter/email/ProfileYahooMail:ProfileYahooMail": {
      "properties": {
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "logAll": {
          "type": "string",
          "description": "Enable/disable logging of all email traffic. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "log",
            "logAll"
          ]
        }
      }
    },
    "fortios:filter/file/ProfileRule:ProfileRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken for matched file. Valid values: `log-only`, `block`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "direction": {
          "type": "string",
          "description": "Traffic direction. On FortiOS versions 6.4.1-7.4.1: HTTP, FTP, SSH, CIFS only. On FortiOS versions >= 7.4.2: HTTP, FTP, SSH, CIFS, and MAPI only. Valid values: `incoming`, `outgoing`, `any`.\n"
        },
        "fileTypes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Ffile%2FProfileRuleFileType:ProfileRuleFileType"
          },
          "description": "Select file type. The structure of `file_type` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "File-filter rule name.\n"
        },
        "passwordProtected": {
          "type": "string",
          "description": "Match password-protected files. Valid values: `yes`, `any`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocols to apply rule to. Valid values: `http`, `ftp`, `smtp`, `imap`, `pop3`, `mapi`, `cifs`, `ssh`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "direction",
            "name",
            "passwordProtected",
            "protocol"
          ]
        }
      }
    },
    "fortios:filter/file/ProfileRuleFileType:ProfileRuleFileType": {
      "properties": {
        "name": {
          "type": "string",
          "description": "File type name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:filter/sctp/ProfilePpidFilter:ProfilePpidFilter": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken when PPID is matched. Valid values: `pass`, `reset`, `replace`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ppid": {
          "type": "integer",
          "description": "Payload protocol identifier.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "ppid"
          ]
        }
      }
    },
    "fortios:filter/spam/BwlEntry:BwlEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Reject, mark as spam or good email. Valid values: `reject`, `spam`, `clear`.\n"
        },
        "addrType": {
          "type": "string",
          "description": "IP address type. Valid values: `ipv4`, `ipv6`.\n"
        },
        "emailPattern": {
          "type": "string",
          "description": "Email address pattern.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "ip4Subnet": {
          "type": "string",
          "description": "IPv4 network address/subnet mask bits.\n"
        },
        "ip6Subnet": {
          "type": "string",
          "description": "IPv6 network address/subnet mask bits.\n"
        },
        "patternType": {
          "type": "string",
          "description": "Wildcard pattern or regular expression. Valid values: `wildcard`, `regexp`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Entry type. Valid values: `ip`, `email`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "addrType",
            "emailPattern",
            "id",
            "ip4Subnet",
            "ip6Subnet",
            "patternType",
            "status",
            "type"
          ]
        }
      }
    },
    "fortios:filter/spam/BwordEntry:BwordEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Mark spam or good. Valid values: `spam`, `clear`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Banned word entry ID.\n"
        },
        "language": {
          "type": "string",
          "description": "Language for the banned word. Valid values: `western`, `simch`, `trach`, `japanese`, `korean`, `french`, `thai`, `spanish`.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Pattern for the banned word.\n"
        },
        "patternType": {
          "type": "string",
          "description": "Wildcard pattern or regular expression. Valid values: `wildcard`, `regexp`.\n"
        },
        "score": {
          "type": "integer",
          "description": "Score value.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        },
        "where": {
          "type": "string",
          "description": "Component of the email to be scanned. Valid values: `subject`, `body`, `all`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "language",
            "pattern",
            "patternType",
            "score",
            "status",
            "where"
          ]
        }
      }
    },
    "fortios:filter/spam/DnsblEntry:DnsblEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Reject connection or mark as spam email. Valid values: `reject`, `spam`.\n"
        },
        "id": {
          "type": "integer",
          "description": "DNSBL/ORBL entry ID.\n"
        },
        "server": {
          "type": "string",
          "description": "DNSBL or ORBL server name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "server",
            "status"
          ]
        }
      }
    },
    "fortios:filter/spam/IptrustEntry:IptrustEntry": {
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Type of address. Valid values: `ipv4`, `ipv6`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Trusted IP entry ID.\n"
        },
        "ip4Subnet": {
          "type": "string",
          "description": "IPv4 network address or network address/subnet mask bits.\n"
        },
        "ip6Subnet": {
          "type": "string",
          "description": "IPv6 network address/subnet mask bits.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrType",
            "id",
            "ip4Subnet",
            "ip6Subnet",
            "status"
          ]
        }
      }
    },
    "fortios:filter/spam/MheaderEntry:MheaderEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Mark spam or good. Valid values: `spam`, `clear`.\n"
        },
        "fieldbody": {
          "type": "string",
          "description": "Pattern for the header field body.\n"
        },
        "fieldname": {
          "type": "string",
          "description": "Pattern for header field name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Mime header entry ID.\n"
        },
        "patternType": {
          "type": "string",
          "description": "Wildcard pattern or regular expression. Valid values: `wildcard`, `regexp`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "fieldbody",
            "fieldname",
            "id",
            "patternType",
            "status"
          ]
        }
      }
    },
    "fortios:filter/spam/ProfileGmail:ProfileGmail": {
      "properties": {
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "log"
          ]
        }
      }
    },
    "fortios:filter/spam/ProfileImap:ProfileImap": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action for spam email. Valid values: `pass`, `tag`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "tagMsg": {
          "type": "string",
          "description": "Subject text or header added to spam email.\n"
        },
        "tagType": {
          "type": "string",
          "description": "Tag subject or header for spam email. Valid values: `subject`, `header`, `spaminfo`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "tagMsg",
            "tagType"
          ]
        }
      }
    },
    "fortios:filter/spam/ProfileMapi:ProfileMapi": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action for spam email. Valid values: `pass`, `discard`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log"
          ]
        }
      }
    },
    "fortios:filter/spam/ProfileMsnHotmail:ProfileMsnHotmail": {
      "properties": {
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "log"
          ]
        }
      }
    },
    "fortios:filter/spam/ProfilePop3:ProfilePop3": {
      "properties": {
        "action": {
          "type": "string"
        },
        "log": {
          "type": "string"
        },
        "tagMsg": {
          "type": "string"
        },
        "tagType": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "tagMsg",
            "tagType"
          ]
        }
      }
    },
    "fortios:filter/spam/ProfileSmtp:ProfileSmtp": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action for spam email. Valid values: `pass`, `tag`, `discard`.\n"
        },
        "hdrip": {
          "type": "string",
          "description": "Enable/disable SMTP email header IP checks for spamfsip, spamrbl and spambwl filters. Valid values: `disable`, `enable`.\n"
        },
        "localOverride": {
          "type": "string",
          "description": "Enable/disable local filter to override SMTP remote check result. Valid values: `disable`, `enable`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "tagMsg": {
          "type": "string",
          "description": "Subject text or header added to spam email.\n"
        },
        "tagType": {
          "type": "string",
          "description": "Tag subject or header for spam email. Valid values: `subject`, `header`, `spaminfo`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "hdrip",
            "localOverride",
            "log",
            "tagMsg",
            "tagType"
          ]
        }
      }
    },
    "fortios:filter/spam/ProfileYahooMail:ProfileYahooMail": {
      "properties": {
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "log"
          ]
        }
      }
    },
    "fortios:filter/ssh/ProfileFileFilter:ProfileFileFilter": {
      "properties": {
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fssh%2FProfileFileFilterEntry:ProfileFileFilterEntry"
          },
          "description": "File filter entries. The structure of `entries` block is documented below.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable file filter logging. Valid values: `enable`, `disable`.\n"
        },
        "scanArchiveContents": {
          "type": "string",
          "description": "Enable/disable file filter archive contents scan. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable file filter. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "log",
            "scanArchiveContents",
            "status"
          ]
        }
      }
    },
    "fortios:filter/ssh/ProfileFileFilterEntry:ProfileFileFilterEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken for matched file. Valid values: `log`, `block`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "direction": {
          "type": "string",
          "description": "Match files transmitted in the session's originating or reply direction. Valid values: `incoming`, `outgoing`, `any`.\n"
        },
        "fileTypes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fssh%2FProfileFileFilterEntryFileType:ProfileFileFilterEntryFileType"
          },
          "description": "Select file type. The structure of `file_type` block is documented below.\n"
        },
        "filter": {
          "type": "string",
          "description": "Add a file filter.\n"
        },
        "passwordProtected": {
          "type": "string",
          "description": "Match password-protected files. Valid values: `yes`, `any`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "direction",
            "filter",
            "passwordProtected"
          ]
        }
      }
    },
    "fortios:filter/ssh/ProfileFileFilterEntryFileType:ProfileFileFilterEntryFileType": {
      "properties": {
        "name": {
          "type": "string",
          "description": "File type name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:filter/ssh/ProfileShellCommand:ProfileShellCommand": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to take for URL filter matches. Valid values: `block`, `allow`.\n"
        },
        "alert": {
          "type": "string",
          "description": "Enable/disable alert. Valid values: `enable`, `disable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Id.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "pattern": {
          "type": "string",
          "description": "SSH shell command pattern.\n"
        },
        "severity": {
          "type": "string",
          "description": "Log severity. Valid values: `low`, `medium`, `high`, `critical`.\n"
        },
        "type": {
          "type": "string",
          "description": "Matching type. Valid values: `simple`, `regex`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "alert",
            "id",
            "log",
            "pattern",
            "severity",
            "type"
          ]
        }
      }
    },
    "fortios:filter/video/KeywordWord:KeywordWord": {
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "patternType": {
          "type": "string",
          "description": "Pattern type. Valid values: `wildcard`, `regex`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable(consider)/disable(ignore) this keyword. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "patternType",
            "status"
          ]
        }
      }
    },
    "fortios:filter/video/ProfileFilter:ProfileFilter": {
      "properties": {
        "action": {
          "type": "string",
          "description": "VideoFilter action. Valid values: `allow`, `monitor`, `block`.\n"
        },
        "category": {
          "type": "string",
          "description": "FortiGuard category ID.\n"
        },
        "channel": {
          "type": "string",
          "description": "Channel ID.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "keyword": {
          "type": "integer",
          "description": "Video filter keyword ID.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Filter type. Valid values: `category`, `channel`, `title`, `description`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "category",
            "channel",
            "id",
            "keyword",
            "log",
            "type"
          ]
        }
      }
    },
    "fortios:filter/video/ProfileFortiguardCategory:ProfileFortiguardCategory": {
      "properties": {
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fvideo%2FProfileFortiguardCategoryFilter:ProfileFortiguardCategoryFilter"
          },
          "description": "Configure VideoFilter FortiGuard category. The structure of `filters` block is documented below.\n"
        }
      },
      "type": "object"
    },
    "fortios:filter/video/ProfileFortiguardCategoryFilter:ProfileFortiguardCategoryFilter": {
      "properties": {
        "action": {
          "type": "string",
          "description": "VideoFilter action. Valid values: `allow`, `monitor`, `block`.\n"
        },
        "categoryId": {
          "type": "integer",
          "description": "Category ID.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "categoryId",
            "id",
            "log"
          ]
        }
      }
    },
    "fortios:filter/video/YoutubechannelfilterEntry:YoutubechannelfilterEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "YouTube channel filter action. Valid values: `allow`, `monitor`, `block`.\n"
        },
        "channelId": {
          "type": "string",
          "description": "Channel ID.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "channelId",
            "id"
          ]
        }
      }
    },
    "fortios:filter/web/ContentEntry:ContentEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Block or exempt word when a match is found. Valid values: `block`, `exempt`.\n"
        },
        "lang": {
          "type": "string",
          "description": "Language of banned word. Valid values: `western`, `simch`, `trach`, `japanese`, `korean`, `french`, `thai`, `spanish`, `cyrillic`.\n"
        },
        "name": {
          "type": "string",
          "description": "Banned word.\n"
        },
        "patternType": {
          "type": "string",
          "description": "Banned word pattern type: wildcard pattern or Perl regular expression. Valid values: `wildcard`, `regexp`.\n"
        },
        "score": {
          "type": "integer",
          "description": "Score, to be applied every time the word appears on a web page (0 - 4294967295, default = 10).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable banned word. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "lang",
            "name",
            "patternType",
            "score",
            "status"
          ]
        }
      }
    },
    "fortios:filter/web/ContentheaderEntry:ContentheaderEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to take for this content type. Valid values: `block`, `allow`, `exempt`.\n"
        },
        "category": {
          "type": "string",
          "description": "Categories that this content type applies to.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Content type (regular expression).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "category",
            "pattern"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileAntiphish:ProfileAntiphish": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication methods. Valid values: `domain-controller`, `ldap`.\n"
        },
        "checkBasicAuth": {
          "type": "string",
          "description": "Enable/disable checking of HTTP Basic Auth field for known credentials. Valid values: `enable`, `disable`.\n"
        },
        "checkUri": {
          "type": "string",
          "description": "Enable/disable checking of GET URI parameters for known credentials. Valid values: `enable`, `disable`.\n"
        },
        "checkUsernameOnly": {
          "type": "string",
          "description": "Enable/disable acting only on valid username credentials. Action will be taken for valid usernames regardless of password validity. Valid values: `enable`, `disable`.\n"
        },
        "customPatterns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileAntiphishCustomPattern:ProfileAntiphishCustomPattern"
          },
          "description": "Custom username and password regex patterns. The structure of `custom_patterns` block is documented below.\n"
        },
        "defaultAction": {
          "type": "string",
          "description": "Action to be taken when there is no matching rule. Valid values: `exempt`, `log`, `block`.\n"
        },
        "domainController": {
          "type": "string",
          "description": "Domain for which to verify received credentials against.\n"
        },
        "inspectionEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileAntiphishInspectionEntry:ProfileAntiphishInspectionEntry"
          },
          "description": "AntiPhishing entries. The structure of `inspection_entries` block is documented below.\n"
        },
        "ldap": {
          "type": "string",
          "description": "LDAP server for which to verify received credentials against.\n"
        },
        "maxBodyLen": {
          "type": "integer",
          "description": "Maximum size of a POST body to check for credentials.\n"
        },
        "status": {
          "type": "string",
          "description": "Toggle AntiPhishing functionality. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authentication",
            "checkBasicAuth",
            "checkUri",
            "checkUsernameOnly",
            "defaultAction",
            "domainController",
            "ldap",
            "maxBodyLen",
            "status"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileAntiphishCustomPattern:ProfileAntiphishCustomPattern": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Category that the pattern matches. Valid values: `username`, `password`.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Target pattern.\n"
        },
        "type": {
          "type": "string",
          "description": "Pattern will be treated either as a regex pattern or literal string. Valid values: `regex`, `literal`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "pattern",
            "type"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileAntiphishInspectionEntry:ProfileAntiphishInspectionEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to be taken upon an AntiPhishing match. Valid values: `exempt`, `log`, `block`.\n"
        },
        "fortiguardCategory": {
          "type": "string",
          "description": "FortiGuard category to match.\n"
        },
        "name": {
          "type": "string",
          "description": "Inspection target name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "fortiguardCategory",
            "name"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileFileFilter:ProfileFileFilter": {
      "properties": {
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileFileFilterEntry:ProfileFileFilterEntry"
          },
          "description": "File filter entries. The structure of `entries` block is documented below.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable file filter logging. Valid values: `enable`, `disable`.\n"
        },
        "scanArchiveContents": {
          "type": "string",
          "description": "Enable/disable file filter archive contents scan. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable file filter. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "log",
            "scanArchiveContents",
            "status"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileFileFilterEntry:ProfileFileFilterEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken for matched file. Valid values: `log`, `block`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "direction": {
          "type": "string",
          "description": "Match files transmitted in the session's originating or reply direction. Valid values: `incoming`, `outgoing`, `any`.\n"
        },
        "fileTypes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileFileFilterEntryFileType:ProfileFileFilterEntryFileType"
          },
          "description": "Select file type. The structure of `file_type` block is documented below.\n"
        },
        "filter": {
          "type": "string",
          "description": "Add a file filter.\n"
        },
        "passwordProtected": {
          "type": "string",
          "description": "Match password-protected files. Valid values: `yes`, `any`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocols to apply with. Valid values: `http`, `ftp`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "direction",
            "filter",
            "passwordProtected",
            "protocol"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileFileFilterEntryFileType:ProfileFileFilterEntryFileType": {
      "properties": {
        "name": {
          "type": "string",
          "description": "File type name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileFtgdWf:ProfileFtgdWf": {
      "properties": {
        "exemptQuota": {
          "type": "string",
          "description": "Do not stop quota for these categories.\n"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileFtgdWfFilter:ProfileFtgdWfFilter"
          },
          "description": "FortiGuard filters. The structure of `filters` block is documented below.\n"
        },
        "maxQuotaTimeout": {
          "type": "integer",
          "description": "Maximum FortiGuard quota used by single page view in seconds (excludes streams).\n"
        },
        "options": {
          "type": "string",
          "description": "Options for FortiGuard Web Filter. Valid values: `error-allow`, `rate-server-ip`, `connect-request-bypass`, `ftgd-disable`.\n"
        },
        "ovrd": {
          "type": "string",
          "description": "Allow web filter profile overrides.\n"
        },
        "quotas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileFtgdWfQuota:ProfileFtgdWfQuota"
          },
          "description": "FortiGuard traffic quota settings. The structure of `quota` block is documented below.\n"
        },
        "rateCrlUrls": {
          "type": "string",
          "description": "Enable/disable rating CRL by URL. Valid values: `disable`, `enable`.\n"
        },
        "rateCssUrls": {
          "type": "string",
          "description": "Enable/disable rating CSS by URL. Valid values: `disable`, `enable`.\n"
        },
        "rateImageUrls": {
          "type": "string",
          "description": "Enable/disable rating images by URL. Valid values: `disable`, `enable`.\n"
        },
        "rateJavascriptUrls": {
          "type": "string",
          "description": "Enable/disable rating JavaScript by URL. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "exemptQuota",
            "maxQuotaTimeout",
            "options",
            "ovrd",
            "rateCrlUrls",
            "rateCssUrls",
            "rateImageUrls",
            "rateJavascriptUrls"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileFtgdWfFilter:ProfileFtgdWfFilter": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to take for matches. Valid values: `block`, `authenticate`, `monitor`, `warning`.\n"
        },
        "authUsrGrps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileFtgdWfFilterAuthUsrGrp:ProfileFtgdWfFilterAuthUsrGrp"
          },
          "description": "Groups with permission to authenticate. The structure of `auth_usr_grp` block is documented below.\n"
        },
        "category": {
          "type": "integer",
          "description": "Categories and groups the filter examines.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID number.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "overrideReplacemsg": {
          "type": "string",
          "description": "Override replacement message.\n"
        },
        "warnDuration": {
          "type": "string",
          "description": "Duration of warnings.\n"
        },
        "warningDurationType": {
          "type": "string",
          "description": "Re-display warning after closing browser or after a timeout. Valid values: `session`, `timeout`.\n"
        },
        "warningPrompt": {
          "type": "string",
          "description": "Warning prompts in each category or each domain. Valid values: `per-domain`, `per-category`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "category",
            "id",
            "log",
            "overrideReplacemsg",
            "warnDuration",
            "warningDurationType",
            "warningPrompt"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileFtgdWfFilterAuthUsrGrp:ProfileFtgdWfFilterAuthUsrGrp": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileFtgdWfQuota:ProfileFtgdWfQuota": {
      "properties": {
        "category": {
          "type": "string",
          "description": "FortiGuard categories to apply quota to (category action must be set to monitor).\n"
        },
        "duration": {
          "type": "string",
          "description": "Duration of quota.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID number.\n"
        },
        "overrideReplacemsg": {
          "type": "string",
          "description": "Override replacement message.\n"
        },
        "type": {
          "type": "string",
          "description": "Quota type. Valid values: `time`, `traffic`.\n"
        },
        "unit": {
          "type": "string",
          "description": "Traffic quota unit of measurement. Valid values: `B`, `KB`, `MB`, `GB`.\n"
        },
        "value": {
          "type": "integer",
          "description": "Traffic quota value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "duration",
            "id",
            "overrideReplacemsg",
            "type",
            "unit",
            "value"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileOverride:ProfileOverride": {
      "properties": {
        "ovrdCookie": {
          "type": "string",
          "description": "Allow/deny browser-based (cookie) overrides. Valid values: `allow`, `deny`.\n"
        },
        "ovrdDur": {
          "type": "string",
          "description": "Override duration.\n"
        },
        "ovrdDurMode": {
          "type": "string",
          "description": "Override duration mode. Valid values: `constant`, `ask`.\n"
        },
        "ovrdScope": {
          "type": "string",
          "description": "Override scope. Valid values: `user`, `user-group`, `ip`, `browser`, `ask`.\n"
        },
        "ovrdUserGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileOverrideOvrdUserGroup:ProfileOverrideOvrdUserGroup"
          },
          "description": "User groups with permission to use the override. The structure of `ovrd_user_group` block is documented below.\n"
        },
        "profileAttribute": {
          "type": "string",
          "description": "Profile attribute to retrieve from the RADIUS server. Valid values: `User-Name`, `NAS-IP-Address`, `Framed-IP-Address`, `Framed-IP-Netmask`, `Filter-Id`, `Login-IP-Host`, `Reply-Message`, `Callback-Number`, `Callback-Id`, `Framed-Route`, `Framed-IPX-Network`, `Class`, `Called-Station-Id`, `Calling-Station-Id`, `NAS-Identifier`, `Proxy-State`, `Login-LAT-Service`, `Login-LAT-Node`, `Login-LAT-Group`, `Framed-AppleTalk-Zone`, `Acct-Session-Id`, `Acct-Multi-Session-Id`.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Override profile type. Valid values: `list`, `radius`.\n"
        },
        "profiles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileOverrideProfile:ProfileOverrideProfile"
          },
          "description": "Web filter profile with permission to create overrides. The structure of `profile` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ovrdCookie",
            "ovrdDur",
            "ovrdDurMode",
            "ovrdScope",
            "profileAttribute",
            "profileType"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileOverrideOvrdUserGroup:ProfileOverrideOvrdUserGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileOverrideProfile:ProfileOverrideProfile": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Web profile.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileWeb:ProfileWeb": {
      "properties": {
        "allowlist": {
          "type": "string",
          "description": "FortiGuard allowlist settings. Valid values: `exempt-av`, `exempt-webcontent`, `exempt-activex-java-cookie`, `exempt-dlp`, `exempt-rangeblock`, `extended-log-others`.\n"
        },
        "blacklist": {
          "type": "string",
          "description": "Enable/disable automatic addition of URLs detected by FortiSandbox to blacklist. Valid values: `enable`, `disable`.\n"
        },
        "blocklist": {
          "type": "string",
          "description": "Enable/disable automatic addition of URLs detected by FortiSandbox to blocklist. Valid values: `enable`, `disable`.\n"
        },
        "bwordTable": {
          "type": "integer",
          "description": "Banned word table ID.\n"
        },
        "bwordThreshold": {
          "type": "integer",
          "description": "Banned word score threshold.\n"
        },
        "contentHeaderList": {
          "type": "integer",
          "description": "Content header list.\n"
        },
        "keywordMatches": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileWebKeywordMatch:ProfileWebKeywordMatch"
          },
          "description": "Search keywords to log when match is found. The structure of `keyword_match` block is documented below.\n"
        },
        "logSearch": {
          "type": "string",
          "description": "Enable/disable logging all search phrases. Valid values: `enable`, `disable`.\n"
        },
        "safeSearch": {
          "type": "string",
          "description": "Safe search type. Valid values: `url`, `header`.\n"
        },
        "urlfilterTable": {
          "type": "integer",
          "description": "URL filter table ID.\n"
        },
        "vimeoRestrict": {
          "type": "string",
          "description": "Set Vimeo-restrict (\"7\" = don't show mature content, \"134\" = don't show unrated and mature content). A value of cookie \"content_rating\".\n"
        },
        "whitelist": {
          "type": "string",
          "description": "FortiGuard whitelist settings. Valid values: `exempt-av`, `exempt-webcontent`, `exempt-activex-java-cookie`, `exempt-dlp`, `exempt-rangeblock`, `extended-log-others`.\n"
        },
        "youtubeRestrict": {
          "type": "string",
          "description": "YouTube EDU filter level. Valid values: `none`, `strict`, `moderate`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "allowlist",
            "blacklist",
            "blocklist",
            "bwordTable",
            "bwordThreshold",
            "contentHeaderList",
            "logSearch",
            "safeSearch",
            "urlfilterTable",
            "vimeoRestrict",
            "whitelist",
            "youtubeRestrict"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileWebKeywordMatch:ProfileWebKeywordMatch": {
      "properties": {
        "pattern": {
          "type": "string",
          "description": "Pattern/keyword to search for.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "pattern"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileWispServer:ProfileWispServer": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Server name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:filter/web/ProfileYoutubeChannelFilter:ProfileYoutubeChannelFilter": {
      "properties": {
        "channelId": {
          "type": "string",
          "description": "YouTube channel ID to be filtered.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "channelId",
            "id"
          ]
        }
      }
    },
    "fortios:filter/web/UrlfilterEntry:UrlfilterEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to take for URL filter matches. Valid values: `exempt`, `block`, `allow`, `monitor`.\n"
        },
        "antiphishAction": {
          "type": "string",
          "description": "Action to take for AntiPhishing matches. Valid values: `block`, `log`.\n"
        },
        "dnsAddressFamily": {
          "type": "string",
          "description": "Resolve IPv4 address, IPv6 address, or both from DNS server. Valid values: `ipv4`, `ipv6`, `both`.\n"
        },
        "exempt": {
          "type": "string",
          "description": "If action is set to exempt, select the security profile operations that exempt URLs skip. Separate multiple options with a space.\n"
        },
        "id": {
          "type": "integer",
          "description": "Id.\n"
        },
        "referrerHost": {
          "type": "string",
          "description": "Referrer host name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this URL filter. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Filter type (simple, regex, or wildcard). Valid values: `simple`, `regex`, `wildcard`.\n"
        },
        "url": {
          "type": "string",
          "description": "URL to be filtered.\n"
        },
        "webProxyProfile": {
          "type": "string",
          "description": "Web proxy profile.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "antiphishAction",
            "dnsAddressFamily",
            "exempt",
            "id",
            "referrerHost",
            "status",
            "type",
            "url",
            "webProxyProfile"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGateway6:Accessproxy6ApiGateway6": {
      "properties": {
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway6Application:Accessproxy6ApiGateway6Application"
          }
        },
        "h2Support": {
          "type": "string"
        },
        "h3Support": {
          "type": "string"
        },
        "httpCookieAge": {
          "type": "integer"
        },
        "httpCookieDomain": {
          "type": "string"
        },
        "httpCookieDomainFromHost": {
          "type": "string"
        },
        "httpCookieGeneration": {
          "type": "integer"
        },
        "httpCookiePath": {
          "type": "string"
        },
        "httpCookieShare": {
          "type": "string"
        },
        "httpsCookieSecure": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource with format {{name}}.\n"
        },
        "ldbMethod": {
          "type": "string"
        },
        "persistence": {
          "type": "string"
        },
        "quic": {
          "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway6Quic:Accessproxy6ApiGateway6Quic"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway6Realserver:Accessproxy6ApiGateway6Realserver"
          }
        },
        "samlRedirect": {
          "type": "string"
        },
        "samlServer": {
          "type": "string"
        },
        "service": {
          "type": "string"
        },
        "sslAlgorithm": {
          "type": "string"
        },
        "sslCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway6SslCipherSuite:Accessproxy6ApiGateway6SslCipherSuite"
          }
        },
        "sslDhBits": {
          "type": "string"
        },
        "sslMaxVersion": {
          "type": "string"
        },
        "sslMinVersion": {
          "type": "string"
        },
        "sslRenegotiation": {
          "type": "string"
        },
        "sslVpnWebPortal": {
          "type": "string"
        },
        "urlMap": {
          "type": "string"
        },
        "urlMapType": {
          "type": "string"
        },
        "virtualHost": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "h2Support",
            "h3Support",
            "httpCookieAge",
            "httpCookieDomain",
            "httpCookieDomainFromHost",
            "httpCookieGeneration",
            "httpCookiePath",
            "httpCookieShare",
            "httpsCookieSecure",
            "id",
            "ldbMethod",
            "persistence",
            "quic",
            "samlRedirect",
            "samlServer",
            "service",
            "sslAlgorithm",
            "sslDhBits",
            "sslMaxVersion",
            "sslMinVersion",
            "sslRenegotiation",
            "sslVpnWebPortal",
            "urlMap",
            "urlMapType",
            "virtualHost"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGateway6Application:Accessproxy6ApiGateway6Application": {
      "properties": {
        "name": {
          "type": "string",
          "description": "SaaS application name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGateway6Quic:Accessproxy6ApiGateway6Quic": {
      "properties": {
        "ackDelayExponent": {
          "type": "integer",
          "description": "ACK delay exponent (1 - 20, default = 3).\n"
        },
        "activeConnectionIdLimit": {
          "type": "integer",
          "description": "Active connection ID limit (1 - 8, default = 2).\n"
        },
        "activeMigration": {
          "type": "string",
          "description": "Enable/disable active migration (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "greaseQuicBit": {
          "type": "string",
          "description": "Enable/disable grease QUIC bit (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "maxAckDelay": {
          "type": "integer",
          "description": "Maximum ACK delay in milliseconds (1 - 16383, default = 25).\n"
        },
        "maxDatagramFrameSize": {
          "type": "integer",
          "description": "Maximum datagram frame size in bytes (1 - 1500, default = 1500).\n"
        },
        "maxIdleTimeout": {
          "type": "integer",
          "description": "Maximum idle timeout milliseconds (1 - 60000, default = 30000).\n"
        },
        "maxUdpPayloadSize": {
          "type": "integer",
          "description": "Maximum UDP payload size in bytes (1200 - 1500, default = 1500).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ackDelayExponent",
            "activeConnectionIdLimit",
            "activeMigration",
            "greaseQuicBit",
            "maxAckDelay",
            "maxDatagramFrameSize",
            "maxIdleTimeout",
            "maxUdpPayloadSize"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGateway6Realserver:Accessproxy6ApiGateway6Realserver": {
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Type of address. Valid values: `ip`, `fqdn`.\n"
        },
        "address": {
          "type": "string",
          "description": "Address or address group of the real server.\n"
        },
        "domain": {
          "type": "string",
          "description": "Wildcard domain name of the real server.\n"
        },
        "externalAuth": {
          "type": "string",
          "description": "Enable/disable use of external browser as user-agent for SAML user authentication. Valid values: `enable`, `disable`.\n"
        },
        "healthCheck": {
          "type": "string",
          "description": "Enable to check the responsiveness of the real server before forwarding traffic. Valid values: `disable`, `enable`.\n"
        },
        "healthCheckProto": {
          "type": "string",
          "description": "Protocol of the health check monitor to use when polling to determine server's connectivity status. Valid values: `ping`, `http`, `tcp-connect`.\n"
        },
        "holddownInterval": {
          "type": "string",
          "description": "Enable/disable holddown timer. Server will be considered active and reachable once the holddown period has expired (30 seconds). Valid values: `enable`, `disable`.\n"
        },
        "httpHost": {
          "type": "string",
          "description": "HTTP server domain name in HTTP header.\n"
        },
        "id": {
          "type": "integer",
          "description": "Real server ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv6 address of the real server.\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Port for communicating with the real server.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port for communicating with the real server.\n"
        },
        "sshClientCert": {
          "type": "string",
          "description": "Set access-proxy SSH client certificate profile.\n"
        },
        "sshHostKeyValidation": {
          "type": "string",
          "description": "Enable/disable SSH real server host key validation. Valid values: `disable`, `enable`.\n"
        },
        "sshHostKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway6RealserverSshHostKey:Accessproxy6ApiGateway6RealserverSshHostKey"
          },
          "description": "One or more server host key. The structure of `ssh_host_key` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic is sent. Valid values: `active`, `standby`, `disable`.\n"
        },
        "translateHost": {
          "type": "string",
          "description": "Enable/disable translation of hostname/IP from virtual server to real server. Valid values: `enable`, `disable`.\n"
        },
        "tunnelEncryption": {
          "type": "string",
          "description": "Tunnel encryption. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "TCP forwarding server type. Valid values: `tcp-forwarding`, `ssh`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of the real server. If weighted load balancing is enabled, the server with the highest weight gets more connections.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrType",
            "address",
            "domain",
            "externalAuth",
            "healthCheck",
            "healthCheckProto",
            "holddownInterval",
            "httpHost",
            "id",
            "ip",
            "mappedport",
            "port",
            "sshClientCert",
            "sshHostKeyValidation",
            "status",
            "translateHost",
            "tunnelEncryption",
            "type",
            "weight"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGateway6RealserverSshHostKey:Accessproxy6ApiGateway6RealserverSshHostKey": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Server host key name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGateway6SslCipherSuite:Accessproxy6ApiGateway6SslCipherSuite": {
      "properties": {
        "cipher": {
          "type": "string",
          "description": "Cipher suite name. Valid values: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384`, `TLS-CHACHA20-POLY1305-SHA256`, `TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-DHE-RSA-WITH-AES-128-CBC-SHA`, `TLS-DHE-RSA-WITH-AES-256-CBC-SHA`, `TLS-DHE-RSA-WITH-AES-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-AES-128-GCM-SHA256`, `TLS-DHE-RSA-WITH-AES-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-AES-256-GCM-SHA384`, `TLS-DHE-DSS-WITH-AES-128-CBC-SHA`, `TLS-DHE-DSS-WITH-AES-256-CBC-SHA`, `TLS-DHE-DSS-WITH-AES-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-AES-128-GCM-SHA256`, `TLS-DHE-DSS-WITH-AES-256-CBC-SHA256`, `TLS-DHE-DSS-WITH-AES-256-GCM-SHA384`, `TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA`, `TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256`, `TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256`, `TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA`, `TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384`, `TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA`, `TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256`, `TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256`, `TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA`, `TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384`, `TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384`, `TLS-RSA-WITH-AES-128-CBC-SHA`, `TLS-RSA-WITH-AES-256-CBC-SHA`, `TLS-RSA-WITH-AES-128-CBC-SHA256`, `TLS-RSA-WITH-AES-128-GCM-SHA256`, `TLS-RSA-WITH-AES-256-CBC-SHA256`, `TLS-RSA-WITH-AES-256-GCM-SHA384`, `TLS-RSA-WITH-CAMELLIA-128-CBC-SHA`, `TLS-RSA-WITH-CAMELLIA-256-CBC-SHA`, `TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA`, `TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA`, `TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-SEED-CBC-SHA`, `TLS-DHE-DSS-WITH-SEED-CBC-SHA`, `TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-DHE-DSS-WITH-ARIA-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-ARIA-256-CBC-SHA384`, `TLS-RSA-WITH-SEED-CBC-SHA`, `TLS-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256`, `TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-RC4-128-SHA`, `TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA`, `TLS-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-RSA-WITH-RC4-128-MD5`, `TLS-RSA-WITH-RC4-128-SHA`, `TLS-DHE-RSA-WITH-DES-CBC-SHA`, `TLS-DHE-DSS-WITH-DES-CBC-SHA`, `TLS-RSA-WITH-DES-CBC-SHA`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "SSL/TLS cipher suites priority.\n"
        },
        "versions": {
          "type": "string",
          "description": "SSL/TLS versions that the cipher suite can be used with. Valid values: `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cipher",
            "priority",
            "versions"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGateway:Accessproxy6ApiGateway": {
      "properties": {
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGatewayApplication:Accessproxy6ApiGatewayApplication"
          },
          "description": "SaaS application controlled by this Access Proxy. The structure of `application` block is documented below.\n"
        },
        "h2Support": {
          "type": "string",
          "description": "HTTP2 support, default=Enable. Valid values: `enable`, `disable`.\n"
        },
        "h3Support": {
          "type": "string",
          "description": "HTTP3/QUIC support, default=Disable. Valid values: `enable`, `disable`.\n"
        },
        "httpCookieAge": {
          "type": "integer",
          "description": "Time in minutes that client web browsers should keep a cookie. Default is 60 minutes. 0 = no time limit.\n"
        },
        "httpCookieDomain": {
          "type": "string",
          "description": "Domain that HTTP cookie persistence should apply to.\n"
        },
        "httpCookieDomainFromHost": {
          "type": "string",
          "description": "Enable/disable use of HTTP cookie domain from host field in HTTP. Valid values: `disable`, `enable`.\n"
        },
        "httpCookieGeneration": {
          "type": "integer",
          "description": "Generation of HTTP cookie to be accepted. Changing invalidates all existing cookies.\n"
        },
        "httpCookiePath": {
          "type": "string",
          "description": "Limit HTTP cookie persistence to the specified path.\n"
        },
        "httpCookieShare": {
          "type": "string",
          "description": "Control sharing of cookies across API Gateway. same-ip means a cookie from one virtual server can be used by another. Disable stops cookie sharing. Valid values: `disable`, `same-ip`.\n"
        },
        "httpsCookieSecure": {
          "type": "string",
          "description": "Enable/disable verification that inserted HTTPS cookies are secure. Valid values: `disable`, `enable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "API Gateway ID.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Method used to distribute sessions to real servers. Valid values: `static`, `round-robin`, `weighted`, `first-alive`, `http-host`.\n"
        },
        "persistence": {
          "type": "string",
          "description": "Configure how to make sure that clients connect to the same server every time they make a request that is part of the same session. Valid values: `none`, `http-cookie`.\n"
        },
        "quic": {
          "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGatewayQuic:Accessproxy6ApiGatewayQuic",
          "description": "QUIC setting. The structure of `quic` block is documented below.\n"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGatewayRealserver:Accessproxy6ApiGatewayRealserver"
          },
          "description": "Select the real servers that this Access Proxy will distribute traffic to. The structure of `realservers` block is documented below.\n"
        },
        "samlRedirect": {
          "type": "string",
          "description": "Enable/disable SAML redirection after successful authentication. Valid values: `disable`, `enable`.\n"
        },
        "samlServer": {
          "type": "string",
          "description": "SAML service provider configuration for VIP authentication.\n"
        },
        "service": {
          "type": "string",
          "description": "Service.\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. Valid values: `high`, `medium`, `low`.\n"
        },
        "sslCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGatewaySslCipherSuite:Accessproxy6ApiGatewaySslCipherSuite"
          },
          "description": "SSL/TLS cipher suites to offer to a server, ordered by priority. The structure of `ssl_cipher_suites` block is documented below.\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions. Valid values: `768`, `1024`, `1536`, `2048`, `3072`, `4096`.\n"
        },
        "sslMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version acceptable from a server. Valid values: `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        },
        "sslMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version acceptable from a server. Valid values: `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        },
        "sslRenegotiation": {
          "type": "string",
          "description": "Enable/disable secure renegotiation to comply with RFC 5746. Valid values: `enable`, `disable`.\n"
        },
        "sslVpnWebPortal": {
          "type": "string",
          "description": "SSL-VPN web portal.\n"
        },
        "urlMap": {
          "type": "string",
          "description": "URL pattern to match.\n"
        },
        "urlMapType": {
          "type": "string",
          "description": "Type of url-map. Valid values: `sub-string`, `wildcard`, `regex`.\n"
        },
        "virtualHost": {
          "type": "string",
          "description": "Virtual host.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "h2Support",
            "h3Support",
            "httpCookieAge",
            "httpCookieDomain",
            "httpCookieDomainFromHost",
            "httpCookieGeneration",
            "httpCookiePath",
            "httpCookieShare",
            "httpsCookieSecure",
            "id",
            "ldbMethod",
            "persistence",
            "quic",
            "samlRedirect",
            "samlServer",
            "service",
            "sslAlgorithm",
            "sslDhBits",
            "sslMaxVersion",
            "sslMinVersion",
            "sslRenegotiation",
            "sslVpnWebPortal",
            "urlMap",
            "urlMapType",
            "virtualHost"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGatewayApplication:Accessproxy6ApiGatewayApplication": {
      "properties": {
        "name": {
          "type": "string",
          "description": "SaaS application name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGatewayQuic:Accessproxy6ApiGatewayQuic": {
      "properties": {
        "ackDelayExponent": {
          "type": "integer",
          "description": "ACK delay exponent (1 - 20, default = 3).\n"
        },
        "activeConnectionIdLimit": {
          "type": "integer",
          "description": "Active connection ID limit (1 - 8, default = 2).\n"
        },
        "activeMigration": {
          "type": "string",
          "description": "Enable/disable active migration (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "greaseQuicBit": {
          "type": "string",
          "description": "Enable/disable grease QUIC bit (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "maxAckDelay": {
          "type": "integer",
          "description": "Maximum ACK delay in milliseconds (1 - 16383, default = 25).\n"
        },
        "maxDatagramFrameSize": {
          "type": "integer",
          "description": "Maximum datagram frame size in bytes (1 - 1500, default = 1500).\n"
        },
        "maxIdleTimeout": {
          "type": "integer",
          "description": "Maximum idle timeout milliseconds (1 - 60000, default = 30000).\n"
        },
        "maxUdpPayloadSize": {
          "type": "integer",
          "description": "Maximum UDP payload size in bytes (1200 - 1500, default = 1500).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ackDelayExponent",
            "activeConnectionIdLimit",
            "activeMigration",
            "greaseQuicBit",
            "maxAckDelay",
            "maxDatagramFrameSize",
            "maxIdleTimeout",
            "maxUdpPayloadSize"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGatewayRealserver:Accessproxy6ApiGatewayRealserver": {
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Type of address. Valid values: `ip`, `fqdn`.\n"
        },
        "address": {
          "type": "string",
          "description": "Address or address group of the real server.\n"
        },
        "domain": {
          "type": "string",
          "description": "Wildcard domain name of the real server.\n"
        },
        "externalAuth": {
          "type": "string",
          "description": "Enable/disable use of external browser as user-agent for SAML user authentication. Valid values: `enable`, `disable`.\n"
        },
        "healthCheck": {
          "type": "string",
          "description": "Enable to check the responsiveness of the real server before forwarding traffic. Valid values: `disable`, `enable`.\n"
        },
        "healthCheckProto": {
          "type": "string",
          "description": "Protocol of the health check monitor to use when polling to determine server's connectivity status. Valid values: `ping`, `http`, `tcp-connect`.\n"
        },
        "holddownInterval": {
          "type": "string",
          "description": "Enable/disable holddown timer. Server will be considered active and reachable once the holddown period has expired (30 seconds). Valid values: `enable`, `disable`.\n"
        },
        "httpHost": {
          "type": "string",
          "description": "HTTP server domain name in HTTP header.\n"
        },
        "id": {
          "type": "integer",
          "description": "Real server ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv6 address of the real server.\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Port for communicating with the real server.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port for communicating with the real server.\n"
        },
        "sshClientCert": {
          "type": "string",
          "description": "Set access-proxy SSH client certificate profile.\n"
        },
        "sshHostKeyValidation": {
          "type": "string",
          "description": "Enable/disable SSH real server host key validation. Valid values: `disable`, `enable`.\n"
        },
        "sshHostKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGatewayRealserverSshHostKey:Accessproxy6ApiGatewayRealserverSshHostKey"
          },
          "description": "One or more server host key. The structure of `ssh_host_key` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic is sent. Valid values: `active`, `standby`, `disable`.\n"
        },
        "translateHost": {
          "type": "string",
          "description": "Enable/disable translation of hostname/IP from virtual server to real server. Valid values: `enable`, `disable`.\n"
        },
        "tunnelEncryption": {
          "type": "string",
          "description": "Tunnel encryption. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "TCP forwarding server type. Valid values: `tcp-forwarding`, `ssh`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of the real server. If weighted load balancing is enabled, the server with the highest weight gets more connections.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrType",
            "address",
            "domain",
            "externalAuth",
            "healthCheck",
            "healthCheckProto",
            "holddownInterval",
            "httpHost",
            "id",
            "ip",
            "mappedport",
            "port",
            "sshClientCert",
            "sshHostKeyValidation",
            "status",
            "translateHost",
            "tunnelEncryption",
            "type",
            "weight"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGatewayRealserverSshHostKey:Accessproxy6ApiGatewayRealserverSshHostKey": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Server host key name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Accessproxy6ApiGatewaySslCipherSuite:Accessproxy6ApiGatewaySslCipherSuite": {
      "properties": {
        "cipher": {
          "type": "string",
          "description": "Cipher suite name. Valid values: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384`, `TLS-CHACHA20-POLY1305-SHA256`, `TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-DHE-RSA-WITH-AES-128-CBC-SHA`, `TLS-DHE-RSA-WITH-AES-256-CBC-SHA`, `TLS-DHE-RSA-WITH-AES-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-AES-128-GCM-SHA256`, `TLS-DHE-RSA-WITH-AES-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-AES-256-GCM-SHA384`, `TLS-DHE-DSS-WITH-AES-128-CBC-SHA`, `TLS-DHE-DSS-WITH-AES-256-CBC-SHA`, `TLS-DHE-DSS-WITH-AES-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-AES-128-GCM-SHA256`, `TLS-DHE-DSS-WITH-AES-256-CBC-SHA256`, `TLS-DHE-DSS-WITH-AES-256-GCM-SHA384`, `TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA`, `TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256`, `TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256`, `TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA`, `TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384`, `TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA`, `TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256`, `TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256`, `TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA`, `TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384`, `TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384`, `TLS-RSA-WITH-AES-128-CBC-SHA`, `TLS-RSA-WITH-AES-256-CBC-SHA`, `TLS-RSA-WITH-AES-128-CBC-SHA256`, `TLS-RSA-WITH-AES-128-GCM-SHA256`, `TLS-RSA-WITH-AES-256-CBC-SHA256`, `TLS-RSA-WITH-AES-256-GCM-SHA384`, `TLS-RSA-WITH-CAMELLIA-128-CBC-SHA`, `TLS-RSA-WITH-CAMELLIA-256-CBC-SHA`, `TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA`, `TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA`, `TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-SEED-CBC-SHA`, `TLS-DHE-DSS-WITH-SEED-CBC-SHA`, `TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-DHE-DSS-WITH-ARIA-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-ARIA-256-CBC-SHA384`, `TLS-RSA-WITH-SEED-CBC-SHA`, `TLS-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256`, `TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-RC4-128-SHA`, `TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA`, `TLS-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-RSA-WITH-RC4-128-MD5`, `TLS-RSA-WITH-RC4-128-SHA`, `TLS-DHE-RSA-WITH-DES-CBC-SHA`, `TLS-DHE-DSS-WITH-DES-CBC-SHA`, `TLS-RSA-WITH-DES-CBC-SHA`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "SSL/TLS cipher suites priority.\n"
        },
        "versions": {
          "type": "string",
          "description": "SSL/TLS versions that the cipher suite can be used with. Valid values: `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cipher",
            "priority",
            "versions"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGateway6:AccessproxyApiGateway6": {
      "properties": {
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway6Application:AccessproxyApiGateway6Application"
          }
        },
        "h2Support": {
          "type": "string"
        },
        "h3Support": {
          "type": "string"
        },
        "httpCookieAge": {
          "type": "integer"
        },
        "httpCookieDomain": {
          "type": "string"
        },
        "httpCookieDomainFromHost": {
          "type": "string"
        },
        "httpCookieGeneration": {
          "type": "integer"
        },
        "httpCookiePath": {
          "type": "string"
        },
        "httpCookieShare": {
          "type": "string"
        },
        "httpsCookieSecure": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource with format {{name}}.\n"
        },
        "ldbMethod": {
          "type": "string"
        },
        "persistence": {
          "type": "string"
        },
        "quic": {
          "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway6Quic:AccessproxyApiGateway6Quic"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway6Realserver:AccessproxyApiGateway6Realserver"
          }
        },
        "samlRedirect": {
          "type": "string"
        },
        "samlServer": {
          "type": "string"
        },
        "service": {
          "type": "string"
        },
        "sslAlgorithm": {
          "type": "string"
        },
        "sslCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway6SslCipherSuite:AccessproxyApiGateway6SslCipherSuite"
          }
        },
        "sslDhBits": {
          "type": "string"
        },
        "sslMaxVersion": {
          "type": "string"
        },
        "sslMinVersion": {
          "type": "string"
        },
        "sslRenegotiation": {
          "type": "string"
        },
        "sslVpnWebPortal": {
          "type": "string"
        },
        "urlMap": {
          "type": "string"
        },
        "urlMapType": {
          "type": "string"
        },
        "virtualHost": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "h2Support",
            "h3Support",
            "httpCookieAge",
            "httpCookieDomain",
            "httpCookieDomainFromHost",
            "httpCookieGeneration",
            "httpCookiePath",
            "httpCookieShare",
            "httpsCookieSecure",
            "id",
            "ldbMethod",
            "persistence",
            "quic",
            "samlRedirect",
            "samlServer",
            "service",
            "sslAlgorithm",
            "sslDhBits",
            "sslMaxVersion",
            "sslMinVersion",
            "sslRenegotiation",
            "sslVpnWebPortal",
            "urlMap",
            "urlMapType",
            "virtualHost"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGateway6Application:AccessproxyApiGateway6Application": {
      "properties": {
        "name": {
          "type": "string",
          "description": "SaaS application name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGateway6Quic:AccessproxyApiGateway6Quic": {
      "properties": {
        "ackDelayExponent": {
          "type": "integer",
          "description": "ACK delay exponent (1 - 20, default = 3).\n"
        },
        "activeConnectionIdLimit": {
          "type": "integer",
          "description": "Active connection ID limit (1 - 8, default = 2).\n"
        },
        "activeMigration": {
          "type": "string",
          "description": "Enable/disable active migration (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "greaseQuicBit": {
          "type": "string",
          "description": "Enable/disable grease QUIC bit (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "maxAckDelay": {
          "type": "integer",
          "description": "Maximum ACK delay in milliseconds (1 - 16383, default = 25).\n"
        },
        "maxDatagramFrameSize": {
          "type": "integer",
          "description": "Maximum datagram frame size in bytes (1 - 1500, default = 1500).\n"
        },
        "maxIdleTimeout": {
          "type": "integer",
          "description": "Maximum idle timeout milliseconds (1 - 60000, default = 30000).\n"
        },
        "maxUdpPayloadSize": {
          "type": "integer",
          "description": "Maximum UDP payload size in bytes (1200 - 1500, default = 1500).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ackDelayExponent",
            "activeConnectionIdLimit",
            "activeMigration",
            "greaseQuicBit",
            "maxAckDelay",
            "maxDatagramFrameSize",
            "maxIdleTimeout",
            "maxUdpPayloadSize"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGateway6Realserver:AccessproxyApiGateway6Realserver": {
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Type of address. Valid values: `ip`, `fqdn`.\n"
        },
        "address": {
          "type": "string",
          "description": "Address or address group of the real server.\n"
        },
        "domain": {
          "type": "string",
          "description": "Wildcard domain name of the real server.\n"
        },
        "externalAuth": {
          "type": "string",
          "description": "Enable/disable use of external browser as user-agent for SAML user authentication. Valid values: `enable`, `disable`.\n"
        },
        "healthCheck": {
          "type": "string",
          "description": "Enable to check the responsiveness of the real server before forwarding traffic. Valid values: `disable`, `enable`.\n"
        },
        "healthCheckProto": {
          "type": "string",
          "description": "Protocol of the health check monitor to use when polling to determine server's connectivity status. Valid values: `ping`, `http`, `tcp-connect`.\n"
        },
        "holddownInterval": {
          "type": "string",
          "description": "Enable/disable holddown timer. Server will be considered active and reachable once the holddown period has expired (30 seconds). Valid values: `enable`, `disable`.\n"
        },
        "httpHost": {
          "type": "string",
          "description": "HTTP server domain name in HTTP header.\n"
        },
        "id": {
          "type": "integer",
          "description": "Real server ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv6 address of the real server.\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Port for communicating with the real server.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port for communicating with the real server.\n"
        },
        "sshClientCert": {
          "type": "string",
          "description": "Set access-proxy SSH client certificate profile.\n"
        },
        "sshHostKeyValidation": {
          "type": "string",
          "description": "Enable/disable SSH real server host key validation. Valid values: `disable`, `enable`.\n"
        },
        "sshHostKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway6RealserverSshHostKey:AccessproxyApiGateway6RealserverSshHostKey"
          },
          "description": "One or more server host key. The structure of `ssh_host_key` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic is sent. Valid values: `active`, `standby`, `disable`.\n"
        },
        "translateHost": {
          "type": "string",
          "description": "Enable/disable translation of hostname/IP from virtual server to real server. Valid values: `enable`, `disable`.\n"
        },
        "tunnelEncryption": {
          "type": "string",
          "description": "Tunnel encryption. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "TCP forwarding server type. Valid values: `tcp-forwarding`, `ssh`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of the real server. If weighted load balancing is enabled, the server with the highest weight gets more connections.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrType",
            "address",
            "domain",
            "externalAuth",
            "healthCheck",
            "healthCheckProto",
            "holddownInterval",
            "httpHost",
            "id",
            "ip",
            "mappedport",
            "port",
            "sshClientCert",
            "sshHostKeyValidation",
            "status",
            "translateHost",
            "tunnelEncryption",
            "type",
            "weight"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGateway6RealserverSshHostKey:AccessproxyApiGateway6RealserverSshHostKey": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Server host key name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGateway6SslCipherSuite:AccessproxyApiGateway6SslCipherSuite": {
      "properties": {
        "cipher": {
          "type": "string",
          "description": "Cipher suite name. Valid values: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384`, `TLS-CHACHA20-POLY1305-SHA256`, `TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-DHE-RSA-WITH-AES-128-CBC-SHA`, `TLS-DHE-RSA-WITH-AES-256-CBC-SHA`, `TLS-DHE-RSA-WITH-AES-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-AES-128-GCM-SHA256`, `TLS-DHE-RSA-WITH-AES-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-AES-256-GCM-SHA384`, `TLS-DHE-DSS-WITH-AES-128-CBC-SHA`, `TLS-DHE-DSS-WITH-AES-256-CBC-SHA`, `TLS-DHE-DSS-WITH-AES-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-AES-128-GCM-SHA256`, `TLS-DHE-DSS-WITH-AES-256-CBC-SHA256`, `TLS-DHE-DSS-WITH-AES-256-GCM-SHA384`, `TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA`, `TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256`, `TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256`, `TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA`, `TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384`, `TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA`, `TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256`, `TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256`, `TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA`, `TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384`, `TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384`, `TLS-RSA-WITH-AES-128-CBC-SHA`, `TLS-RSA-WITH-AES-256-CBC-SHA`, `TLS-RSA-WITH-AES-128-CBC-SHA256`, `TLS-RSA-WITH-AES-128-GCM-SHA256`, `TLS-RSA-WITH-AES-256-CBC-SHA256`, `TLS-RSA-WITH-AES-256-GCM-SHA384`, `TLS-RSA-WITH-CAMELLIA-128-CBC-SHA`, `TLS-RSA-WITH-CAMELLIA-256-CBC-SHA`, `TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA`, `TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA`, `TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-SEED-CBC-SHA`, `TLS-DHE-DSS-WITH-SEED-CBC-SHA`, `TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-DHE-DSS-WITH-ARIA-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-ARIA-256-CBC-SHA384`, `TLS-RSA-WITH-SEED-CBC-SHA`, `TLS-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256`, `TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-RC4-128-SHA`, `TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA`, `TLS-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-RSA-WITH-RC4-128-MD5`, `TLS-RSA-WITH-RC4-128-SHA`, `TLS-DHE-RSA-WITH-DES-CBC-SHA`, `TLS-DHE-DSS-WITH-DES-CBC-SHA`, `TLS-RSA-WITH-DES-CBC-SHA`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "SSL/TLS cipher suites priority.\n"
        },
        "versions": {
          "type": "string",
          "description": "SSL/TLS versions that the cipher suite can be used with. Valid values: `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cipher",
            "priority",
            "versions"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGateway:AccessproxyApiGateway": {
      "properties": {
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGatewayApplication:AccessproxyApiGatewayApplication"
          },
          "description": "SaaS application controlled by this Access Proxy. The structure of `application` block is documented below.\n"
        },
        "h2Support": {
          "type": "string",
          "description": "HTTP2 support, default=Enable. Valid values: `enable`, `disable`.\n"
        },
        "h3Support": {
          "type": "string",
          "description": "HTTP3/QUIC support, default=Disable. Valid values: `enable`, `disable`.\n"
        },
        "httpCookieAge": {
          "type": "integer",
          "description": "Time in minutes that client web browsers should keep a cookie. Default is 60 minutes. 0 = no time limit.\n"
        },
        "httpCookieDomain": {
          "type": "string",
          "description": "Domain that HTTP cookie persistence should apply to.\n"
        },
        "httpCookieDomainFromHost": {
          "type": "string",
          "description": "Enable/disable use of HTTP cookie domain from host field in HTTP. Valid values: `disable`, `enable`.\n"
        },
        "httpCookieGeneration": {
          "type": "integer",
          "description": "Generation of HTTP cookie to be accepted. Changing invalidates all existing cookies.\n"
        },
        "httpCookiePath": {
          "type": "string",
          "description": "Limit HTTP cookie persistence to the specified path.\n"
        },
        "httpCookieShare": {
          "type": "string",
          "description": "Control sharing of cookies across API Gateway. same-ip means a cookie from one virtual server can be used by another. Disable stops cookie sharing. Valid values: `disable`, `same-ip`.\n"
        },
        "httpsCookieSecure": {
          "type": "string",
          "description": "Enable/disable verification that inserted HTTPS cookies are secure. Valid values: `disable`, `enable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "API Gateway ID.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Method used to distribute sessions to real servers. Valid values: `static`, `round-robin`, `weighted`, `first-alive`, `http-host`.\n"
        },
        "persistence": {
          "type": "string",
          "description": "Configure how to make sure that clients connect to the same server every time they make a request that is part of the same session. Valid values: `none`, `http-cookie`.\n"
        },
        "quic": {
          "$ref": "#/types/fortios:firewall%2FAccessproxyApiGatewayQuic:AccessproxyApiGatewayQuic",
          "description": "QUIC setting. The structure of `quic` block is documented below.\n"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGatewayRealserver:AccessproxyApiGatewayRealserver"
          },
          "description": "Select the real servers that this Access Proxy will distribute traffic to. The structure of `realservers` block is documented below.\n"
        },
        "samlRedirect": {
          "type": "string",
          "description": "Enable/disable SAML redirection after successful authentication. Valid values: `disable`, `enable`.\n"
        },
        "samlServer": {
          "type": "string",
          "description": "SAML service provider configuration for VIP authentication.\n"
        },
        "service": {
          "type": "string",
          "description": "Service.\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. Valid values: `high`, `medium`, `low`.\n"
        },
        "sslCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGatewaySslCipherSuite:AccessproxyApiGatewaySslCipherSuite"
          },
          "description": "SSL/TLS cipher suites to offer to a server, ordered by priority. The structure of `ssl_cipher_suites` block is documented below.\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions. Valid values: `768`, `1024`, `1536`, `2048`, `3072`, `4096`.\n"
        },
        "sslMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version acceptable from a server. Valid values: `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        },
        "sslMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version acceptable from a server. Valid values: `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        },
        "sslRenegotiation": {
          "type": "string",
          "description": "Enable/disable secure renegotiation to comply with RFC 5746. Valid values: `enable`, `disable`.\n"
        },
        "sslVpnWebPortal": {
          "type": "string",
          "description": "SSL-VPN web portal.\n"
        },
        "urlMap": {
          "type": "string",
          "description": "URL pattern to match.\n"
        },
        "urlMapType": {
          "type": "string",
          "description": "Type of url-map. Valid values: `sub-string`, `wildcard`, `regex`.\n"
        },
        "virtualHost": {
          "type": "string",
          "description": "Virtual host.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "h2Support",
            "h3Support",
            "httpCookieAge",
            "httpCookieDomain",
            "httpCookieDomainFromHost",
            "httpCookieGeneration",
            "httpCookiePath",
            "httpCookieShare",
            "httpsCookieSecure",
            "id",
            "ldbMethod",
            "persistence",
            "quic",
            "samlRedirect",
            "samlServer",
            "service",
            "sslAlgorithm",
            "sslDhBits",
            "sslMaxVersion",
            "sslMinVersion",
            "sslRenegotiation",
            "sslVpnWebPortal",
            "urlMap",
            "urlMapType",
            "virtualHost"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGatewayApplication:AccessproxyApiGatewayApplication": {
      "properties": {
        "name": {
          "type": "string",
          "description": "SaaS application name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGatewayQuic:AccessproxyApiGatewayQuic": {
      "properties": {
        "ackDelayExponent": {
          "type": "integer",
          "description": "ACK delay exponent (1 - 20, default = 3).\n"
        },
        "activeConnectionIdLimit": {
          "type": "integer",
          "description": "Active connection ID limit (1 - 8, default = 2).\n"
        },
        "activeMigration": {
          "type": "string",
          "description": "Enable/disable active migration (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "greaseQuicBit": {
          "type": "string",
          "description": "Enable/disable grease QUIC bit (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "maxAckDelay": {
          "type": "integer",
          "description": "Maximum ACK delay in milliseconds (1 - 16383, default = 25).\n"
        },
        "maxDatagramFrameSize": {
          "type": "integer",
          "description": "Maximum datagram frame size in bytes (1 - 1500, default = 1500).\n"
        },
        "maxIdleTimeout": {
          "type": "integer",
          "description": "Maximum idle timeout milliseconds (1 - 60000, default = 30000).\n"
        },
        "maxUdpPayloadSize": {
          "type": "integer",
          "description": "Maximum UDP payload size in bytes (1200 - 1500, default = 1500).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ackDelayExponent",
            "activeConnectionIdLimit",
            "activeMigration",
            "greaseQuicBit",
            "maxAckDelay",
            "maxDatagramFrameSize",
            "maxIdleTimeout",
            "maxUdpPayloadSize"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGatewayRealserver:AccessproxyApiGatewayRealserver": {
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Type of address. Valid values: `ip`, `fqdn`.\n"
        },
        "address": {
          "type": "string",
          "description": "Address or address group of the real server.\n"
        },
        "domain": {
          "type": "string",
          "description": "Wildcard domain name of the real server.\n"
        },
        "externalAuth": {
          "type": "string",
          "description": "Enable/disable use of external browser as user-agent for SAML user authentication. Valid values: `enable`, `disable`.\n"
        },
        "healthCheck": {
          "type": "string",
          "description": "Enable to check the responsiveness of the real server before forwarding traffic. Valid values: `disable`, `enable`.\n"
        },
        "healthCheckProto": {
          "type": "string",
          "description": "Protocol of the health check monitor to use when polling to determine server's connectivity status. Valid values: `ping`, `http`, `tcp-connect`.\n"
        },
        "holddownInterval": {
          "type": "string",
          "description": "Enable/disable holddown timer. Server will be considered active and reachable once the holddown period has expired (30 seconds). Valid values: `enable`, `disable`.\n"
        },
        "httpHost": {
          "type": "string",
          "description": "HTTP server domain name in HTTP header.\n"
        },
        "id": {
          "type": "integer",
          "description": "Real server ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv6 address of the real server.\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Port for communicating with the real server.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port for communicating with the real server.\n"
        },
        "sshClientCert": {
          "type": "string",
          "description": "Set access-proxy SSH client certificate profile.\n"
        },
        "sshHostKeyValidation": {
          "type": "string",
          "description": "Enable/disable SSH real server host key validation. Valid values: `disable`, `enable`.\n"
        },
        "sshHostKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGatewayRealserverSshHostKey:AccessproxyApiGatewayRealserverSshHostKey"
          },
          "description": "One or more server host key. The structure of `ssh_host_key` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic is sent. Valid values: `active`, `standby`, `disable`.\n"
        },
        "translateHost": {
          "type": "string",
          "description": "Enable/disable translation of hostname/IP from virtual server to real server. Valid values: `enable`, `disable`.\n"
        },
        "tunnelEncryption": {
          "type": "string",
          "description": "Tunnel encryption. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "TCP forwarding server type. Valid values: `tcp-forwarding`, `ssh`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of the real server. If weighted load balancing is enabled, the server with the highest weight gets more connections.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrType",
            "address",
            "domain",
            "externalAuth",
            "healthCheck",
            "healthCheckProto",
            "holddownInterval",
            "httpHost",
            "id",
            "ip",
            "mappedport",
            "port",
            "sshClientCert",
            "sshHostKeyValidation",
            "status",
            "translateHost",
            "tunnelEncryption",
            "type",
            "weight"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGatewayRealserverSshHostKey:AccessproxyApiGatewayRealserverSshHostKey": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Server host key name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxyApiGatewaySslCipherSuite:AccessproxyApiGatewaySslCipherSuite": {
      "properties": {
        "cipher": {
          "type": "string",
          "description": "Cipher suite name. Valid values: `TLS-AES-128-GCM-SHA256`, `TLS-AES-256-GCM-SHA384`, `TLS-CHACHA20-POLY1305-SHA256`, `TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256`, `TLS-DHE-RSA-WITH-AES-128-CBC-SHA`, `TLS-DHE-RSA-WITH-AES-256-CBC-SHA`, `TLS-DHE-RSA-WITH-AES-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-AES-128-GCM-SHA256`, `TLS-DHE-RSA-WITH-AES-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-AES-256-GCM-SHA384`, `TLS-DHE-DSS-WITH-AES-128-CBC-SHA`, `TLS-DHE-DSS-WITH-AES-256-CBC-SHA`, `TLS-DHE-DSS-WITH-AES-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-AES-128-GCM-SHA256`, `TLS-DHE-DSS-WITH-AES-256-CBC-SHA256`, `TLS-DHE-DSS-WITH-AES-256-GCM-SHA384`, `TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA`, `TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256`, `TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256`, `TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA`, `TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384`, `TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA`, `TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256`, `TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256`, `TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA`, `TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384`, `TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384`, `TLS-RSA-WITH-AES-128-CBC-SHA`, `TLS-RSA-WITH-AES-256-CBC-SHA`, `TLS-RSA-WITH-AES-128-CBC-SHA256`, `TLS-RSA-WITH-AES-128-GCM-SHA256`, `TLS-RSA-WITH-AES-256-CBC-SHA256`, `TLS-RSA-WITH-AES-256-GCM-SHA384`, `TLS-RSA-WITH-CAMELLIA-128-CBC-SHA`, `TLS-RSA-WITH-CAMELLIA-256-CBC-SHA`, `TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA`, `TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA`, `TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA`, `TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA256`, `TLS-DHE-RSA-WITH-SEED-CBC-SHA`, `TLS-DHE-DSS-WITH-SEED-CBC-SHA`, `TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-DHE-DSS-WITH-ARIA-128-CBC-SHA256`, `TLS-DHE-DSS-WITH-ARIA-256-CBC-SHA384`, `TLS-RSA-WITH-SEED-CBC-SHA`, `TLS-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256`, `TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256`, `TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384`, `TLS-ECDHE-RSA-WITH-RC4-128-SHA`, `TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA`, `TLS-RSA-WITH-3DES-EDE-CBC-SHA`, `TLS-RSA-WITH-RC4-128-MD5`, `TLS-RSA-WITH-RC4-128-SHA`, `TLS-DHE-RSA-WITH-DES-CBC-SHA`, `TLS-DHE-DSS-WITH-DES-CBC-SHA`, `TLS-RSA-WITH-DES-CBC-SHA`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "SSL/TLS cipher suites priority.\n"
        },
        "versions": {
          "type": "string",
          "description": "SSL/TLS versions that the cipher suite can be used with. Valid values: `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cipher",
            "priority",
            "versions"
          ]
        }
      }
    },
    "fortios:firewall/AccessproxysshclientcertCertExtension:AccessproxysshclientcertCertExtension": {
      "properties": {
        "critical": {
          "type": "string",
          "description": "Critical option. Valid values: `no`, `yes`.\n"
        },
        "data": {
          "type": "string",
          "description": "Data of certificate extension.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of certificate extension.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of certificate extension. Valid values: `fixed`, `user`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "critical",
            "data",
            "name",
            "type"
          ]
        }
      }
    },
    "fortios:firewall/Address6List:Address6List": {
      "properties": {
        "ip": {
          "type": "string",
          "description": "IP.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ip"
          ]
        }
      }
    },
    "fortios:firewall/Address6Macaddr:Address6Macaddr": {
      "properties": {
        "macaddr": {
          "type": "string",
          "description": "MAC address ranges <start>[-<end>] separated by space.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "macaddr"
          ]
        }
      }
    },
    "fortios:firewall/Address6SubnetSegment:Address6SubnetSegment": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "type": {
          "type": "string",
          "description": "Subnet segment type. Valid values: `any`, `specific`.\n"
        },
        "value": {
          "type": "string",
          "description": "Subnet segment value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "type",
            "value"
          ]
        }
      }
    },
    "fortios:firewall/Address6Tagging:Address6Tagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6TaggingTag:Address6TaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Address6TaggingTag:Address6TaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Address6templateSubnetSegment:Address6templateSubnetSegment": {
      "properties": {
        "bits": {
          "type": "integer",
          "description": "Number of bits.\n"
        },
        "exclusive": {
          "type": "string",
          "description": "Enable/disable exclusive value. Valid values: `enable`, `disable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Subnet segment ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Subnet segment name.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6templateSubnetSegmentValue:Address6templateSubnetSegmentValue"
          },
          "description": "Subnet segment values. The structure of `values` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "bits",
            "exclusive",
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Address6templateSubnetSegmentValue:Address6templateSubnetSegmentValue": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Subnet segment value name.\n"
        },
        "value": {
          "type": "string",
          "description": "Subnet segment value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "value"
          ]
        }
      }
    },
    "fortios:firewall/AddressFssoGroup:AddressFssoGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "FSSO group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AddressList:AddressList": {
      "properties": {
        "ip": {
          "type": "string",
          "description": "IP.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ip"
          ]
        }
      }
    },
    "fortios:firewall/AddressMacaddr:AddressMacaddr": {
      "properties": {
        "macaddr": {
          "type": "string",
          "description": "MAC address ranges <start>[-<end>] separated by space.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "macaddr"
          ]
        }
      }
    },
    "fortios:firewall/AddressTagging:AddressTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddressTaggingTag:AddressTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AddressTaggingTag:AddressTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Addrgrp6ExcludeMember:Addrgrp6ExcludeMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address6 name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Addrgrp6Member:Addrgrp6Member": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address6/addrgrp6 name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Addrgrp6Tagging:Addrgrp6Tagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrp6TaggingTag:Addrgrp6TaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Addrgrp6TaggingTag:Addrgrp6TaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AddrgrpExcludeMember:AddrgrpExcludeMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AddrgrpMember:AddrgrpMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AddrgrpTagging:AddrgrpTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrpTaggingTag:AddrgrpTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AddrgrpTaggingTag:AddrgrpTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/AuthportalGroup:AuthportalGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/CentralsnatmapDstAddr6:CentralsnatmapDstAddr6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/CentralsnatmapDstAddr:CentralsnatmapDstAddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/CentralsnatmapDstintf:CentralsnatmapDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/CentralsnatmapNatIppool6:CentralsnatmapNatIppool6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/CentralsnatmapNatIppool:CentralsnatmapNatIppool": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/CentralsnatmapOrigAddr6:CentralsnatmapOrigAddr6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/CentralsnatmapOrigAddr:CentralsnatmapOrigAddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/CentralsnatmapSortStatePolicyList:CentralsnatmapSortStatePolicyList": {
      "properties": {
        "policyid": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "policyid"
          ]
        }
      }
    },
    "fortios:firewall/CentralsnatmapSrcintf:CentralsnatmapSrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/CountryRegion:CountryRegion": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Region ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/DecryptedtrafficmirrorInterface:DecryptedtrafficmirrorInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Decrypted traffic mirror interface.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/DoSpolicy6Anomaly:DoSpolicy6Anomaly": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken when the threshold is reached.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Quarantine method. Valid values: `none`, `attacker`.\n"
        },
        "quarantineExpiry": {
          "type": "string",
          "description": "Duration of quarantine. (Format ###d##h##m, minimum 1m, maximum 364d23h59m, default = 5m). Requires quarantine set to attacker.\n"
        },
        "quarantineLog": {
          "type": "string",
          "description": "Enable/disable quarantine logging. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this anomaly. Valid values: `disable`, `enable`.\n"
        },
        "threshold": {
          "type": "integer",
          "description": "Anomaly threshold. Number of detected instances that triggers the anomaly action. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: packets per minute. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: packets per second or concurrent session number.\n"
        },
        "thresholddefault": {
          "type": "integer",
          "description": "Number of detected instances which triggers action (1 - 2147483647, default = 1000). Note that each anomaly has a different threshold value assigned to it. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: packets per minute. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: packets per second or concurrent session number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "name",
            "quarantine",
            "quarantineExpiry",
            "quarantineLog",
            "status",
            "threshold",
            "thresholddefault"
          ]
        }
      }
    },
    "fortios:firewall/DoSpolicy6Dstaddr:DoSpolicy6Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/DoSpolicy6Service:DoSpolicy6Service": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/DoSpolicy6Srcaddr:DoSpolicy6Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/DoSpolicyAnomaly:DoSpolicyAnomaly": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken when the threshold is reached.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Quarantine method. Valid values: `none`, `attacker`.\n"
        },
        "quarantineExpiry": {
          "type": "string",
          "description": "Duration of quarantine. (Format ###d##h##m, minimum 1m, maximum 364d23h59m, default = 5m). Requires quarantine set to attacker.\n"
        },
        "quarantineLog": {
          "type": "string",
          "description": "Enable/disable quarantine logging. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this anomaly. Valid values: `disable`, `enable`.\n"
        },
        "threshold": {
          "type": "integer",
          "description": "Anomaly threshold. Number of detected instances that triggers the anomaly action. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: packets per minute. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: packets per second or concurrent session number.\n"
        },
        "thresholddefault": {
          "type": "integer",
          "description": "Number of detected instances which triggers action (1 - 2147483647, default = 1000). Note that each anomaly has a different threshold value assigned to it. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: packets per minute. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: packets per second or concurrent session number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "name",
            "quarantine",
            "quarantineExpiry",
            "quarantineLog",
            "status",
            "threshold",
            "thresholddefault"
          ]
        }
      }
    },
    "fortios:firewall/DoSpolicyDstaddr:DoSpolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/DoSpolicyService:DoSpolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/DoSpolicySrcaddr:DoSpolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/IdentitybasedrouteRule:IdentitybasedrouteRule": {
      "properties": {
        "device": {
          "type": "string",
          "description": "Outgoing interface for the rule.\n"
        },
        "gateway": {
          "type": "string",
          "description": "IPv4 address of the gateway (Format: xxx.xxx.xxx.xxx , Default: 0.0.0.0).\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FIdentitybasedrouteRuleGroup:IdentitybasedrouteRuleGroup"
          },
          "description": "Select one or more group(s) from available groups that are allowed to use this route. Separate group names with a space. The structure of `groups` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "device",
            "gateway",
            "id"
          ]
        }
      }
    },
    "fortios:firewall/IdentitybasedrouteRuleGroup:IdentitybasedrouteRuleGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Interfacepolicy6Dstaddr6:Interfacepolicy6Dstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Interfacepolicy6Service6:Interfacepolicy6Service6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Interfacepolicy6Srcaddr6:Interfacepolicy6Srcaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/InterfacepolicyDstaddr:InterfacepolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/InterfacepolicyService:InterfacepolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/InterfacepolicySrcaddr:InterfacepolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/InternetserviceadditionEntry:InternetserviceadditionEntry": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6) Valid values: `ipv4`, `ipv6`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID(1-255).\n"
        },
        "portRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceadditionEntryPortRange:InternetserviceadditionEntryPortRange"
          },
          "description": "Port ranges in the custom entry. The structure of `port_range` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrMode",
            "id",
            "protocol"
          ]
        }
      }
    },
    "fortios:firewall/InternetserviceadditionEntryPortRange:InternetserviceadditionEntryPortRange": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "Integer value for ending TCP/UDP/SCTP destination port in range (1 to 65535).\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom entry port range ID.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Integer value for starting TCP/UDP/SCTP destination port in range (1 to 65535).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endPort",
            "id",
            "startPort"
          ]
        }
      }
    },
    "fortios:firewall/InternetservicecustomEntry:InternetservicecustomEntry": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6) Valid values: `ipv4`, `ipv6`.\n"
        },
        "dst6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicecustomEntryDst6:InternetservicecustomEntryDst6"
          },
          "description": "Destination address6 or address6 group name. The structure of `dst6` block is documented below.\n"
        },
        "dsts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicecustomEntryDst:InternetservicecustomEntryDst"
          },
          "description": "Destination address or address group name. The structure of `dst` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID(1-255).\n"
        },
        "portRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicecustomEntryPortRange:InternetservicecustomEntryPortRange"
          },
          "description": "Port ranges in the custom entry. The structure of `port_range` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrMode",
            "id",
            "protocol"
          ]
        }
      }
    },
    "fortios:firewall/InternetservicecustomEntryDst6:InternetservicecustomEntryDst6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/InternetservicecustomEntryDst:InternetservicecustomEntryDst": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Select the destination address6 or address group object from available options.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/InternetservicecustomEntryPortRange:InternetservicecustomEntryPortRange": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "Integer value for ending TCP/UDP/SCTP destination port in range (1 to 65535).\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom entry port range ID.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Integer value for starting TCP/UDP/SCTP destination port in range (1 to 65535).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endPort",
            "id",
            "startPort"
          ]
        }
      }
    },
    "fortios:firewall/InternetservicecustomgroupMember:InternetservicecustomgroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group member name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/InternetservicedefinitionEntry:InternetservicedefinitionEntry": {
      "properties": {
        "categoryId": {
          "type": "integer",
          "description": "Internet Service category ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Integer value for ending TCP/UDP/SCTP destination port in range (0 to 65535). 0 means undefined.\n"
        },
        "portRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicedefinitionEntryPortRange:InternetservicedefinitionEntryPortRange"
          },
          "description": "Port ranges in the definition entry. The structure of `port_range` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Entry sequence number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "categoryId",
            "name",
            "port",
            "protocol",
            "seqNum"
          ]
        }
      }
    },
    "fortios:firewall/InternetservicedefinitionEntryPortRange:InternetservicedefinitionEntryPortRange": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "Ending TCP/UDP/SCTP destination port (1 to 65535).\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom entry port range ID.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Starting TCP/UDP/SCTP destination port (1 to 65535).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endPort",
            "id",
            "startPort"
          ]
        }
      }
    },
    "fortios:firewall/InternetserviceextensionDisableEntry:InternetserviceextensionDisableEntry": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6) Valid values: `ipv4`, `ipv6`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Disable entry ID.\n"
        },
        "ip6Ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceextensionDisableEntryIp6Range:InternetserviceextensionDisableEntryIp6Range"
          },
          "description": "IPv6 ranges in the disable entry. The structure of `ip6_range` block is documented below.\n"
        },
        "ipRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceextensionDisableEntryIpRange:InternetserviceextensionDisableEntryIpRange"
          },
          "description": "IP ranges in the disable entry. The structure of `ip_range` block is documented below.\n"
        },
        "port": {
          "type": "integer",
          "description": "Integer value for the TCP/IP port (0 - 65535).\n"
        },
        "portRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceextensionDisableEntryPortRange:InternetserviceextensionDisableEntryPortRange"
          },
          "description": "Port ranges in the disable entry. The structure of `port_range` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrMode",
            "id",
            "port",
            "protocol"
          ]
        }
      }
    },
    "fortios:firewall/InternetserviceextensionDisableEntryIp6Range:InternetserviceextensionDisableEntryIp6Range": {
      "properties": {
        "endIp6": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource with format {{fosid}}.\n"
        },
        "startIp6": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp6",
            "id",
            "startIp6"
          ]
        }
      }
    },
    "fortios:firewall/InternetserviceextensionDisableEntryIpRange:InternetserviceextensionDisableEntryIpRange": {
      "properties": {
        "endIp": {
          "type": "string",
          "description": "End IP address.\n\nThe `ip6_range` block supports:\n"
        },
        "id": {
          "type": "integer",
          "description": "Disable entry range ID.\n"
        },
        "startIp": {
          "type": "string",
          "description": "Start IP address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp",
            "id",
            "startIp"
          ]
        }
      }
    },
    "fortios:firewall/InternetserviceextensionDisableEntryPortRange:InternetserviceextensionDisableEntryPortRange": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "Ending TCP/UDP/SCTP destination port (1 to 65535).\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom entry port range ID.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Starting TCP/UDP/SCTP destination port (1 to 65535).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endPort",
            "id",
            "startPort"
          ]
        }
      }
    },
    "fortios:firewall/InternetserviceextensionEntry:InternetserviceextensionEntry": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6) Valid values: `ipv4`, `ipv6`.\n"
        },
        "dst6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceextensionEntryDst6:InternetserviceextensionEntryDst6"
          },
          "description": "Destination address6 or address6 group name. The structure of `dst6` block is documented below.\n"
        },
        "dsts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceextensionEntryDst:InternetserviceextensionEntryDst"
          },
          "description": "Destination address or address group name. The structure of `dst` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID(1-255).\n"
        },
        "portRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceextensionEntryPortRange:InternetserviceextensionEntryPortRange"
          },
          "description": "Port ranges in the custom entry. The structure of `port_range` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrMode",
            "id",
            "protocol"
          ]
        }
      }
    },
    "fortios:firewall/InternetserviceextensionEntryDst6:InternetserviceextensionEntryDst6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/InternetserviceextensionEntryDst:InternetserviceextensionEntryDst": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Select the destination address6 or address group object from available options.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/InternetserviceextensionEntryPortRange:InternetserviceextensionEntryPortRange": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "Ending TCP/UDP/SCTP destination port (1 to 65535).\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom entry port range ID.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Starting TCP/UDP/SCTP destination port (1 to 65535).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endPort",
            "id",
            "startPort"
          ]
        }
      }
    },
    "fortios:firewall/InternetservicegroupMember:InternetservicegroupMember": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:firewall/InternetservicesubappSubApp:InternetservicesubappSubApp": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Subapp ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/Localinpolicy6Dstaddr:Localinpolicy6Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service6 group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Localinpolicy6InternetService6SrcCustom:Localinpolicy6InternetService6SrcCustom": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Localinpolicy6InternetService6SrcCustomGroup:Localinpolicy6InternetService6SrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Localinpolicy6InternetService6SrcGroup:Localinpolicy6InternetService6SrcGroup": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Localinpolicy6InternetService6SrcName:Localinpolicy6InternetService6SrcName": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Localinpolicy6IntfBlock:Localinpolicy6IntfBlock": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Localinpolicy6Service:Localinpolicy6Service": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Localinpolicy6Srcaddr:Localinpolicy6Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/LocalinpolicyDstaddr:LocalinpolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/LocalinpolicyInternetServiceSrcCustom:LocalinpolicyInternetServiceSrcCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/LocalinpolicyInternetServiceSrcCustomGroup:LocalinpolicyInternetServiceSrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/LocalinpolicyInternetServiceSrcGroup:LocalinpolicyInternetServiceSrcGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/LocalinpolicyInternetServiceSrcName:LocalinpolicyInternetServiceSrcName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/LocalinpolicyIntfBlock:LocalinpolicyIntfBlock": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/LocalinpolicyService:LocalinpolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/LocalinpolicySrcaddr:LocalinpolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Multicastaddress6Tagging:Multicastaddress6Tagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastaddress6TaggingTag:Multicastaddress6TaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Multicastaddress6TaggingTag:Multicastaddress6TaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/MulticastaddressTagging:MulticastaddressTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastaddressTaggingTag:MulticastaddressTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:firewall/MulticastaddressTaggingTag:MulticastaddressTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Multicastpolicy6Dstaddr:Multicastpolicy6Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Multicastpolicy6Srcaddr:Multicastpolicy6Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/MulticastpolicyDstaddr:MulticastpolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Destination address objects.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/MulticastpolicySrcaddr:MulticastpolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Source address objects.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/OndemandsnifferHost:OndemandsnifferHost": {
      "properties": {
        "host": {
          "type": "string",
          "description": "IPv4 or IPv6 host.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "host"
          ]
        }
      }
    },
    "fortios:firewall/OndemandsnifferPort:OndemandsnifferPort": {
      "properties": {
        "port": {
          "type": "integer",
          "description": "Port to filter in this traffic sniffer.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "port"
          ]
        }
      }
    },
    "fortios:firewall/OndemandsnifferProtocol:OndemandsnifferProtocol": {
      "properties": {
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "protocol"
          ]
        }
      }
    },
    "fortios:firewall/Policy46Dstaddr:Policy46Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy46Poolname:Policy46Poolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy46Service:Policy46Service": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy46Srcaddr:Policy46Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy64Dstaddr:Policy64Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy64Poolname:Policy64Poolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy64Service:Policy64Service": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy64Srcaddr:Policy64Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6AppCategory:Policy6AppCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Category IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/Policy6AppGroup:Policy6AppGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6Application:Policy6Application": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/Policy6CustomLogField:Policy6CustomLogField": {
      "properties": {
        "fieldId": {
          "type": "string",
          "description": "Custom log field.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "fieldId"
          ]
        }
      }
    },
    "fortios:firewall/Policy6Device:Policy6Device": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Device or group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6Dstaddr:Policy6Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6Dstintf:Policy6Dstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6FssoGroup:Policy6FssoGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6Group:Policy6Group": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6Poolname:Policy6Poolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6Service:Policy6Service": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6Srcaddr:Policy6Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6Srcintf:Policy6Srcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6SslMirrorIntf:Policy6SslMirrorIntf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Policy6UrlCategory:Policy6UrlCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/Policy6User:Policy6User": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of individual users that can authenticate with this policy.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyAppCategory:PolicyAppCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Category IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/PolicyAppGroup:PolicyAppGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyApplication:PolicyApplication": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/PolicyCustomLogField:PolicyCustomLogField": {
      "properties": {
        "fieldId": {
          "type": "string",
          "description": "Custom log field.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "fieldId"
          ]
        }
      }
    },
    "fortios:firewall/PolicyDevice:PolicyDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Device or group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyDstaddr6:PolicyDstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyDstaddr:PolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyDstintf:PolicyDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyFssoGroup:PolicyFssoGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyGroup:PolicyGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetService6Custom:PolicyInternetService6Custom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetService6CustomGroup:PolicyInternetService6CustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetService6Group:PolicyInternetService6Group": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetService6Name:PolicyInternetService6Name": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetService6SrcCustom:PolicyInternetService6SrcCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetService6SrcCustomGroup:PolicyInternetService6SrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetService6SrcGroup:PolicyInternetService6SrcGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetService6SrcName:PolicyInternetService6SrcName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetServiceCustom:PolicyInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetServiceCustomGroup:PolicyInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetServiceGroup:PolicyInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetServiceId:PolicyInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetServiceName:PolicyInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetServiceSrcCustom:PolicyInternetServiceSrcCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetServiceSrcCustomGroup:PolicyInternetServiceSrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetServiceSrcGroup:PolicyInternetServiceSrcGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetServiceSrcId:PolicyInternetServiceSrcId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/PolicyInternetServiceSrcName:PolicyInternetServiceSrcName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyNetworkServiceDynamic:PolicyNetworkServiceDynamic": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Dynamic Network Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyNetworkServiceSrcDynamic:PolicyNetworkServiceSrcDynamic": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Dynamic Network Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyNtlmEnabledBrowser:PolicyNtlmEnabledBrowser": {
      "properties": {
        "userAgentString": {
          "type": "string",
          "description": "User agent string.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "userAgentString"
          ]
        }
      }
    },
    "fortios:firewall/PolicyPcpPoolname:PolicyPcpPoolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "PCP pool name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyPoolname6:PolicyPoolname6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyPoolname:PolicyPoolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyRtpAddr:PolicyRtpAddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyService:PolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service and service group names.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicySgt:PolicySgt": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Security group tag.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/PolicySortStatePolicyList:PolicySortStatePolicyList": {
      "properties": {
        "action": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "policyid": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "name",
            "policyid"
          ]
        }
      }
    },
    "fortios:firewall/PolicySrcVendorMac:PolicySrcVendorMac": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Vendor MAC ID.\n\nThe `internet_service6_name` block supports:\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/PolicySrcaddr6:PolicySrcaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicySrcaddr:PolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicySrcintf:PolicySrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicySslMirrorIntf:PolicySslMirrorIntf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyUrlCategory:PolicyUrlCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/PolicyUser:PolicyUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of individual users that can authenticate with this policy.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyZtnaEmsTag:PolicyZtnaEmsTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyZtnaEmsTagSecondary:PolicyZtnaEmsTagSecondary": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/PolicyZtnaGeoTag:PolicyZtnaGeoTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsCifs:ProfileprotocoloptionsCifs": {
      "properties": {
        "domainController": {
          "type": "string",
          "description": "Domain for which to decrypt CIFS traffic.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session. Valid values: `oversize`.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (MB).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 445).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files. Valid values: `enable`, `disable`.\n"
        },
        "serverCredentialType": {
          "type": "string",
          "description": "CIFS server credential type. Valid values: `none`, `credential-replication`, `credential-keytab`.\n"
        },
        "serverKeytabs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsCifsServerKeytab:ProfileprotocoloptionsCifsServerKeytab"
          },
          "description": "Server keytab. The structure of `server_keytab` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of scanning for this protocol. Valid values: `enable`, `disable`.\n"
        },
        "tcpWindowMaximum": {
          "type": "integer",
          "description": "Maximum dynamic TCP window size.\n"
        },
        "tcpWindowMinimum": {
          "type": "integer",
          "description": "Minimum dynamic TCP window size.\n"
        },
        "tcpWindowSize": {
          "type": "integer",
          "description": "Set TCP static window size.\n"
        },
        "tcpWindowType": {
          "type": "string",
          "description": "Specify type of TCP window to use for this protocol.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (MB).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domainController",
            "options",
            "oversizeLimit",
            "ports",
            "scanBzip2",
            "serverCredentialType",
            "status",
            "tcpWindowMaximum",
            "tcpWindowMinimum",
            "tcpWindowSize",
            "tcpWindowType",
            "uncompressedNestLimit",
            "uncompressedOversizeLimit"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsCifsServerKeytab:ProfileprotocoloptionsCifsServerKeytab": {
      "properties": {
        "keytab": {
          "type": "string",
          "description": "Base64 encoded keytab file containing credential of the server.\n"
        },
        "principal": {
          "type": "string",
          "description": "Service principal.  For example, \"host/cifsserver.example.com@example.com\".\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keytab",
            "principal"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsDns:ProfileprotocoloptionsDns": {
      "properties": {
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 53).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of scanning for this protocol. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ports",
            "status"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsFtp:ProfileprotocoloptionsFtp": {
      "properties": {
        "comfortAmount": {
          "type": "integer",
          "description": "Number of bytes to send in each transmission for client comforting (bytes). On FortiOS versions 6.2.0: 1 - 10240 bytes, default = 1. On FortiOS versions 6.2.4-7.2.3: 1 - 65535 bytes, default = 1.\n"
        },
        "comfortInterval": {
          "type": "integer",
          "description": "Interval between successive transmissions of data for client comforting (seconds).\n"
        },
        "explicitFtpTls": {
          "type": "string",
          "description": "Enable/disable FTP redirection for explicit FTPS. Valid values: `enable`, `disable`.\n"
        },
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol. Valid values: `enable`, `disable`.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session. Valid values: `clientcomfort`, `oversize`, `splice`, `bypass-rest-command`, `bypass-mode-command`.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (MB).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 21).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files. Valid values: `enable`, `disable`.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device. Valid values: `no`, `yes`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of scanning for this protocol. Valid values: `enable`, `disable`.\n"
        },
        "streamBasedUncompressedLimit": {
          "type": "integer",
          "description": "Maximum stream-based uncompressed data size that will be scanned in megabytes. Stream-based uncompression used only under certain conditions (unlimited = 0, default = 0).\n"
        },
        "tcpWindowMaximum": {
          "type": "integer",
          "description": "Maximum dynamic TCP window size.\n"
        },
        "tcpWindowMinimum": {
          "type": "integer",
          "description": "Minimum dynamic TCP window size.\n"
        },
        "tcpWindowSize": {
          "type": "integer",
          "description": "Set TCP static window size.\n"
        },
        "tcpWindowType": {
          "type": "string",
          "description": "TCP window type to use for this protocol.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (MB).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "comfortAmount",
            "comfortInterval",
            "explicitFtpTls",
            "inspectAll",
            "options",
            "oversizeLimit",
            "ports",
            "scanBzip2",
            "sslOffloaded",
            "status",
            "streamBasedUncompressedLimit",
            "tcpWindowMaximum",
            "tcpWindowMinimum",
            "tcpWindowSize",
            "tcpWindowType",
            "uncompressedNestLimit",
            "uncompressedOversizeLimit"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsHttp:ProfileprotocoloptionsHttp": {
      "properties": {
        "addressIpRating": {
          "type": "string",
          "description": "Enable/disable IP based URL rating. Valid values: `enable`, `disable`.\n"
        },
        "blockPageStatusCode": {
          "type": "integer",
          "description": "Code number returned for blocked HTTP pages (non-FortiGuard only) (100 - 599, default = 403).\n"
        },
        "comfortAmount": {
          "type": "integer",
          "description": "Amount of data to send in a transmission for client comforting. On FortiOS versions 6.2.0: 1 - 10240 bytes, default = 1. On FortiOS versions 6.2.4-7.2.3: 1 - 65535 bytes, default = 1.\n"
        },
        "comfortInterval": {
          "type": "integer",
          "description": "Interval between successive transmissions of data for client comforting (seconds).\n"
        },
        "fortinetBar": {
          "type": "string",
          "description": "Enable/disable Fortinet bar on HTML content. Valid values: `enable`, `disable`.\n"
        },
        "fortinetBarPort": {
          "type": "integer",
          "description": "Port for use by Fortinet Bar (1 - 65535, default = 8011).\n"
        },
        "h2c": {
          "type": "string",
          "description": "Enable/disable h2c HTTP connection upgrade. Valid values: `enable`, `disable`.\n"
        },
        "httpPolicy": {
          "type": "string",
          "description": "Enable/disable HTTP policy check. Valid values: `disable`, `enable`.\n"
        },
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol. Valid values: `enable`, `disable`.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session. Valid values: `clientcomfort`, `servercomfort`, `oversize`, `chunkedbypass`.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (MB). On FortiOS versions 6.2.0-7.2.3: 1 - 383 MB, default = 10.\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 80).\n"
        },
        "postLang": {
          "type": "string",
          "description": "ID codes for character sets to be used to convert to UTF-8 for banned words and DLP on HTTP posts (maximum of 5 character sets). Valid values: `jisx0201`, `jisx0208`, `jisx0212`, `gb2312`, `ksc5601-ex`, `euc-jp`, `sjis`, `iso2022-jp`, `iso2022-jp-1`, `iso2022-jp-2`, `euc-cn`, `ces-gbk`, `hz`, `ces-big5`, `euc-kr`, `iso2022-jp-3`, `iso8859-1`, `tis620`, `cp874`, `cp1252`, `cp1251`.\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before). Valid values: `enable`, `disable`.\n"
        },
        "rangeBlock": {
          "type": "string",
          "description": "Enable/disable blocking of partial downloads. Valid values: `disable`, `enable`.\n"
        },
        "retryCount": {
          "type": "integer",
          "description": "Number of attempts to retry HTTP connection (0 - 100, default = 0).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files. Valid values: `enable`, `disable`.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device. Valid values: `no`, `yes`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of scanning for this protocol. Valid values: `enable`, `disable`.\n"
        },
        "streamBasedUncompressedLimit": {
          "type": "integer",
          "description": "Maximum stream-based uncompressed data size that will be scanned in megabytes. Stream-based uncompression used only under certain conditions (unlimited = 0, default = 0).\n"
        },
        "streamingContentBypass": {
          "type": "string",
          "description": "Enable/disable bypassing of streaming content from buffering. Valid values: `enable`, `disable`.\n"
        },
        "stripXForwardedFor": {
          "type": "string",
          "description": "Enable/disable stripping of HTTP X-Forwarded-For header. Valid values: `disable`, `enable`.\n"
        },
        "switchingProtocols": {
          "type": "string",
          "description": "Bypass from scanning, or block a connection that attempts to switch protocol. Valid values: `bypass`, `block`.\n"
        },
        "tcpWindowMaximum": {
          "type": "integer",
          "description": "Maximum dynamic TCP window size.\n"
        },
        "tcpWindowMinimum": {
          "type": "integer",
          "description": "Minimum dynamic TCP window size.\n"
        },
        "tcpWindowSize": {
          "type": "integer",
          "description": "Set TCP static window size.\n"
        },
        "tcpWindowType": {
          "type": "string",
          "description": "Specify type of TCP window to use for this protocol.\n"
        },
        "tunnelNonHttp": {
          "type": "string",
          "description": "Configure how to process non-HTTP traffic when a profile configured for HTTP traffic accepts a non-HTTP session. Can occur if an application sends non-HTTP traffic using an HTTP destination port. Valid values: `enable`, `disable`.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (MB).\n"
        },
        "unknownContentEncoding": {
          "type": "string",
          "description": "Configure the action the FortiGate unit will take on unknown content-encoding. Valid values: `block`, `inspect`, `bypass`.\n"
        },
        "unknownHttpVersion": {
          "type": "string",
          "description": "How to handle HTTP sessions that do not comply with HTTP 0.9, 1.0, or 1.1. Valid values: `reject`, `tunnel`, `best-effort`.\n"
        },
        "verifyDnsForPolicyMatching": {
          "type": "string",
          "description": "Enable/disable verification of DNS for policy matching. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addressIpRating",
            "blockPageStatusCode",
            "comfortAmount",
            "comfortInterval",
            "fortinetBar",
            "fortinetBarPort",
            "h2c",
            "httpPolicy",
            "inspectAll",
            "options",
            "oversizeLimit",
            "ports",
            "postLang",
            "proxyAfterTcpHandshake",
            "rangeBlock",
            "retryCount",
            "scanBzip2",
            "sslOffloaded",
            "status",
            "streamBasedUncompressedLimit",
            "streamingContentBypass",
            "stripXForwardedFor",
            "switchingProtocols",
            "tcpWindowMaximum",
            "tcpWindowMinimum",
            "tcpWindowSize",
            "tcpWindowType",
            "tunnelNonHttp",
            "uncompressedNestLimit",
            "uncompressedOversizeLimit",
            "unknownContentEncoding",
            "unknownHttpVersion",
            "verifyDnsForPolicyMatching"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsImap:ProfileprotocoloptionsImap": {
      "properties": {
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol. Valid values: `enable`, `disable`.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session. Valid values: `fragmail`, `oversize`.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (MB).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 143).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before). Valid values: `enable`, `disable`.\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files. Valid values: `enable`, `disable`.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device. Valid values: `no`, `yes`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of scanning for this protocol. Valid values: `enable`, `disable`.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (MB).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "inspectAll",
            "options",
            "oversizeLimit",
            "ports",
            "proxyAfterTcpHandshake",
            "scanBzip2",
            "sslOffloaded",
            "status",
            "uncompressedNestLimit",
            "uncompressedOversizeLimit"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsMailSignature:ProfileprotocoloptionsMailSignature": {
      "properties": {
        "signature": {
          "type": "string",
          "description": "Email signature to be added to outgoing email (if the signature contains spaces, enclose with quotation marks).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "signature",
            "status"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsMapi:ProfileprotocoloptionsMapi": {
      "properties": {
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session. Valid values: `fragmail`, `oversize`.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (MB).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 110).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of scanning for this protocol. Valid values: `enable`, `disable`.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (MB).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "options",
            "oversizeLimit",
            "ports",
            "scanBzip2",
            "status",
            "uncompressedNestLimit",
            "uncompressedOversizeLimit"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsNntp:ProfileprotocoloptionsNntp": {
      "properties": {
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol. Valid values: `enable`, `disable`.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session. Valid values: `oversize`, `splice`.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (MB).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 119).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before). Valid values: `enable`, `disable`.\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of scanning for this protocol. Valid values: `enable`, `disable`.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (MB).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "inspectAll",
            "options",
            "oversizeLimit",
            "ports",
            "proxyAfterTcpHandshake",
            "scanBzip2",
            "status",
            "uncompressedNestLimit",
            "uncompressedOversizeLimit"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsPop3:ProfileprotocoloptionsPop3": {
      "properties": {
        "inspectAll": {
          "type": "string"
        },
        "options": {
          "type": "string"
        },
        "oversizeLimit": {
          "type": "integer"
        },
        "ports": {
          "type": "integer"
        },
        "proxyAfterTcpHandshake": {
          "type": "string"
        },
        "scanBzip2": {
          "type": "string"
        },
        "sslOffloaded": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "uncompressedNestLimit": {
          "type": "integer"
        },
        "uncompressedOversizeLimit": {
          "type": "integer"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "inspectAll",
            "options",
            "oversizeLimit",
            "ports",
            "proxyAfterTcpHandshake",
            "scanBzip2",
            "sslOffloaded",
            "status",
            "uncompressedNestLimit",
            "uncompressedOversizeLimit"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsSmtp:ProfileprotocoloptionsSmtp": {
      "properties": {
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol. Valid values: `enable`, `disable`.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session. Valid values: `fragmail`, `oversize`, `splice`.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (MB).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 25).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before). Valid values: `enable`, `disable`.\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files. Valid values: `enable`, `disable`.\n"
        },
        "serverBusy": {
          "type": "string",
          "description": "Enable/disable SMTP server busy when server not available. Valid values: `enable`, `disable`.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device. Valid values: `no`, `yes`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of scanning for this protocol. Valid values: `enable`, `disable`.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (MB).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "inspectAll",
            "options",
            "oversizeLimit",
            "ports",
            "proxyAfterTcpHandshake",
            "scanBzip2",
            "serverBusy",
            "sslOffloaded",
            "status",
            "uncompressedNestLimit",
            "uncompressedOversizeLimit"
          ]
        }
      }
    },
    "fortios:firewall/ProfileprotocoloptionsSsh:ProfileprotocoloptionsSsh": {
      "properties": {
        "comfortAmount": {
          "type": "integer",
          "description": "Number of bytes to send in each transmission for client comforting (bytes).\n"
        },
        "comfortInterval": {
          "type": "integer",
          "description": "Interval between successive transmissions of data for client comforting (seconds).\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session. Valid values: `oversize`, `clientcomfort`, `servercomfort`.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (MB).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files. Valid values: `enable`, `disable`.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device. Valid values: `no`, `yes`.\n"
        },
        "streamBasedUncompressedLimit": {
          "type": "integer",
          "description": "Maximum stream-based uncompressed data size that will be scanned in megabytes. Stream-based uncompression used only under certain conditions (unlimited = 0, default = 0).\n"
        },
        "tcpWindowMaximum": {
          "type": "integer",
          "description": "Maximum dynamic TCP window size.\n"
        },
        "tcpWindowMinimum": {
          "type": "integer",
          "description": "Minimum dynamic TCP window size.\n"
        },
        "tcpWindowSize": {
          "type": "integer",
          "description": "Set TCP static window size.\n"
        },
        "tcpWindowType": {
          "type": "string",
          "description": "TCP window type to use for this protocol.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (MB).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "comfortAmount",
            "comfortInterval",
            "options",
            "oversizeLimit",
            "scanBzip2",
            "sslOffloaded",
            "streamBasedUncompressedLimit",
            "tcpWindowMaximum",
            "tcpWindowMinimum",
            "tcpWindowSize",
            "tcpWindowType",
            "uncompressedNestLimit",
            "uncompressedOversizeLimit"
          ]
        }
      }
    },
    "fortios:firewall/ProxyaddressApplication:ProxyaddressApplication": {
      "properties": {
        "name": {
          "type": "string",
          "description": "SaaS applicaton name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxyaddressCategory:ProxyaddressCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Fortiguard category id.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/ProxyaddressHeaderGroup:ProxyaddressHeaderGroup": {
      "properties": {
        "caseSensitivity": {
          "type": "string",
          "description": "Case sensitivity in pattern. Valid values: `disable`, `enable`.\n"
        },
        "header": {
          "type": "string",
          "description": "HTTP header regular expression.\n"
        },
        "headerName": {
          "type": "string",
          "description": "HTTP header.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "caseSensitivity",
            "header",
            "headerName",
            "id"
          ]
        }
      }
    },
    "fortios:firewall/ProxyaddressTagging:ProxyaddressTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddressTaggingTag:ProxyaddressTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxyaddressTaggingTag:ProxyaddressTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxyaddrgrpMember:ProxyaddrgrpMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxyaddrgrpTagging:ProxyaddrgrpTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddrgrpTaggingTag:ProxyaddrgrpTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxyaddrgrpTaggingTag:ProxyaddrgrpTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyAccessProxy6:ProxypolicyAccessProxy6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyAccessProxy:ProxypolicyAccessProxy": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Access proxy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyDstaddr6:ProxypolicyDstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyDstaddr:ProxypolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyDstintf:ProxypolicyDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyGroup:ProxypolicyGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyInternetService6Custom:ProxypolicyInternetService6Custom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyInternetService6CustomGroup:ProxypolicyInternetService6CustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyInternetService6Group:ProxypolicyInternetService6Group": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyInternetService6Name:ProxypolicyInternetService6Name": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyInternetServiceCustom:ProxypolicyInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyInternetServiceCustomGroup:ProxypolicyInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service IPv6 group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyInternetServiceGroup:ProxypolicyInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyInternetServiceId:ProxypolicyInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyInternetServiceName:ProxypolicyInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyPoolname:ProxypolicyPoolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyService:ProxypolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicySortStatePolicyList:ProxypolicySortStatePolicyList": {
      "properties": {
        "action": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "policyid": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "name",
            "policyid"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicySrcaddr6:ProxypolicySrcaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicySrcaddr:ProxypolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicySrcintf:ProxypolicySrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyUser:ProxypolicyUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ProxypolicyZtnaEmsTag:ProxypolicyZtnaEmsTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "EMS Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/RegionCity:RegionCity": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "City ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/SecurityPolicyseqStatePolicyList:SecurityPolicyseqStatePolicyList": {
      "properties": {
        "action": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "policyid": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "name",
            "policyid"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyAppCategory:SecuritypolicyAppCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Category IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyAppGroup:SecuritypolicyAppGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyApplication:SecuritypolicyApplication": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyDstaddr4:SecuritypolicyDstaddr4": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyDstaddr6:SecuritypolicyDstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyDstaddr:SecuritypolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyDstintf:SecuritypolicyDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyFssoGroup:SecuritypolicyFssoGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyGroup:SecuritypolicyGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetService6Custom:SecuritypolicyInternetService6Custom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetService6CustomGroup:SecuritypolicyInternetService6CustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetService6Group:SecuritypolicyInternetService6Group": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetService6Name:SecuritypolicyInternetService6Name": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetService6SrcCustom:SecuritypolicyInternetService6SrcCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetService6SrcCustomGroup:SecuritypolicyInternetService6SrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetService6SrcGroup:SecuritypolicyInternetService6SrcGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetService6SrcName:SecuritypolicyInternetService6SrcName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetServiceCustom:SecuritypolicyInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetServiceCustomGroup:SecuritypolicyInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetServiceGroup:SecuritypolicyInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetServiceId:SecuritypolicyInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetServiceName:SecuritypolicyInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetServiceSrcCustom:SecuritypolicyInternetServiceSrcCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetServiceSrcCustomGroup:SecuritypolicyInternetServiceSrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service6 group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetServiceSrcGroup:SecuritypolicyInternetServiceSrcGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetServiceSrcId:SecuritypolicyInternetServiceSrcId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyInternetServiceSrcName:SecuritypolicyInternetServiceSrcName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyService:SecuritypolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicySortStatePolicyList:SecuritypolicySortStatePolicyList": {
      "properties": {
        "action": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "policyid": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "name",
            "policyid"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicySrcaddr4:SecuritypolicySrcaddr4": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicySrcaddr6:SecuritypolicySrcaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicySrcaddr:SecuritypolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicySrcintf:SecuritypolicySrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyUrlCategory:SecuritypolicyUrlCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/SecuritypolicyUser:SecuritypolicyUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyAppCategory:ShapingpolicyAppCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Category IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyAppGroup:ShapingpolicyAppGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyApplication:ShapingpolicyApplication": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyDstaddr6:ShapingpolicyDstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Shaping policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyDstaddr:ShapingpolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyDstintf:ShapingpolicyDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyGroup:ShapingpolicyGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyInternetServiceCustom:ShapingpolicyInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyInternetServiceCustomGroup:ShapingpolicyInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyInternetServiceGroup:ShapingpolicyInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyInternetServiceId:ShapingpolicyInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyInternetServiceName:ShapingpolicyInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyInternetServiceSrcCustom:ShapingpolicyInternetServiceSrcCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyInternetServiceSrcCustomGroup:ShapingpolicyInternetServiceSrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyInternetServiceSrcGroup:ShapingpolicyInternetServiceSrcGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyInternetServiceSrcId:ShapingpolicyInternetServiceSrcId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyInternetServiceSrcName:ShapingpolicyInternetServiceSrcName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyService:ShapingpolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicySrcaddr6:ShapingpolicySrcaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Shaping policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicySrcaddr:ShapingpolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicySrcintf:ShapingpolicySrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyUrlCategory:ShapingpolicyUrlCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/ShapingpolicyUser:ShapingpolicyUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/ShapingprofileShapingEntry:ShapingprofileShapingEntry": {
      "properties": {
        "burstInMsec": {
          "type": "integer",
          "description": "Number of bytes that can be burst at maximum-bandwidth speed. Formula: burst = maximum-bandwidth*burst-in-msec.\n"
        },
        "cburstInMsec": {
          "type": "integer",
          "description": "Number of bytes that can be burst as fast as the interface can transmit. Formula: cburst = maximum-bandwidth*cburst-in-msec.\n"
        },
        "classId": {
          "type": "integer",
          "description": "Class ID.\n"
        },
        "guaranteedBandwidthPercentage": {
          "type": "integer",
          "description": "Guaranteed bandwith in percentage.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID number.\n"
        },
        "limit": {
          "type": "integer",
          "description": "Hard limit on the real queue size in packets.\n"
        },
        "max": {
          "type": "integer",
          "description": "Average queue size in packets at which RED drop probability is maximal.\n"
        },
        "maximumBandwidthPercentage": {
          "type": "integer",
          "description": "Maximum bandwith in percentage.\n"
        },
        "min": {
          "type": "integer",
          "description": "Average queue size in packets at which RED drop becomes a possibility.\n"
        },
        "priority": {
          "type": "string",
          "description": "Priority.\n"
        },
        "redProbability": {
          "type": "integer",
          "description": "Maximum probability (in percentage) for RED marking.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "burstInMsec",
            "cburstInMsec",
            "classId",
            "guaranteedBandwidthPercentage",
            "id",
            "limit",
            "max",
            "maximumBandwidthPercentage",
            "min",
            "priority",
            "redProbability"
          ]
        }
      }
    },
    "fortios:firewall/SnifferAnomaly:SnifferAnomaly": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken when the threshold is reached.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Quarantine method. Valid values: `none`, `attacker`.\n"
        },
        "quarantineExpiry": {
          "type": "string",
          "description": "Duration of quarantine. (Format ###d##h##m, minimum 1m, maximum 364d23h59m, default = 5m). Requires quarantine set to attacker.\n"
        },
        "quarantineLog": {
          "type": "string",
          "description": "Enable/disable quarantine logging. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this anomaly. Valid values: `disable`, `enable`.\n"
        },
        "threshold": {
          "type": "integer",
          "description": "Anomaly threshold. Number of detected instances that triggers the anomaly action. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: packets per minute. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: packets per second or concurrent session number.\n"
        },
        "thresholddefault": {
          "type": "integer",
          "description": "Number of detected instances (packets per second or concurrent session number) which triggers action (1 - 2147483647, default = 1000). Note that each anomaly has a different threshold value assigned to it.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "name",
            "quarantine",
            "quarantineExpiry",
            "quarantineLog",
            "status",
            "threshold",
            "thresholddefault"
          ]
        }
      }
    },
    "fortios:firewall/SnifferIpThreatfeed:SnifferIpThreatfeed": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Threat feed name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofileDot:SslsshprofileDot": {
      "properties": {
        "certValidationFailure": {
          "type": "string",
          "description": "Action based on certificate validation failure. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "certValidationTimeout": {
          "type": "string",
          "description": "Action based on certificate validation timeout. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "clientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "expiredServerCert": {
          "type": "string",
          "description": "Action based on server certificate is expired. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before). Valid values: `enable`, `disable`.\n"
        },
        "quic": {
          "type": "string",
          "description": "QUIC inspection status. On FortiOS versions 7.4.1: default = disable. On FortiOS versions >= 7.4.2: default = inspect.\n"
        },
        "revokedServerCert": {
          "type": "string",
          "description": "Action based on server certificate is revoked. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "sniServerCertCheck": {
          "type": "string",
          "description": "Check the SNI in the client hello message with the CN or SAN fields in the returned server certificate. Valid values: `enable`, `strict`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Configure protocol inspection status. Valid values: `disable`, `deep-inspection`.\n"
        },
        "unsupportedSslCipher": {
          "type": "string",
          "description": "Action based on the SSL cipher used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslNegotiation": {
          "type": "string",
          "description": "Action based on the SSL negotiation used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslVersion": {
          "type": "string",
          "description": "Action based on the SSL version used being unsupported.\n"
        },
        "untrustedServerCert": {
          "type": "string",
          "description": "Action based on server certificate is not issued by a trusted CA. Valid values: `allow`, `block`, `ignore`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "certValidationFailure",
            "certValidationTimeout",
            "clientCertificate",
            "expiredServerCert",
            "proxyAfterTcpHandshake",
            "quic",
            "revokedServerCert",
            "sniServerCertCheck",
            "status",
            "unsupportedSslCipher",
            "unsupportedSslNegotiation",
            "unsupportedSslVersion",
            "untrustedServerCert"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofileEchOuterSni:SslsshprofileEchOuterSni": {
      "properties": {
        "name": {
          "type": "string",
          "description": "ClientHelloOuter SNI name.\n"
        },
        "sni": {
          "type": "string",
          "description": "ClientHelloOuter SNI to be blocked.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "sni"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofileFtps:SslsshprofileFtps": {
      "properties": {
        "certValidationFailure": {
          "type": "string",
          "description": "Action based on certificate validation failure. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "certValidationTimeout": {
          "type": "string",
          "description": "Action based on certificate validation timeout. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "clientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "clientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "expiredServerCert": {
          "type": "string",
          "description": "Action based on server certificate is expired. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "invalidServerCert": {
          "type": "string",
          "description": "Allow or block the invalid SSL session server certificate. Valid values: `allow`, `block`.\n"
        },
        "minAllowedSslVersion": {
          "type": "string",
          "description": "Minimum SSL version to be allowed. Valid values: `ssl-3.0`, `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        },
        "ports": {
          "type": "string",
          "description": "Ports to use for scanning (1 - 65535, default = 443).\n"
        },
        "revokedServerCert": {
          "type": "string",
          "description": "Action based on server certificate is revoked. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "sniServerCertCheck": {
          "type": "string",
          "description": "Check the SNI in the client hello message with the CN or SAN fields in the returned server certificate. Valid values: `enable`, `strict`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Configure protocol inspection status. Valid values: `disable`, `deep-inspection`.\n"
        },
        "unsupportedSsl": {
          "type": "string",
          "description": "Action based on the SSL encryption used being unsupported. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "unsupportedSslCipher": {
          "type": "string",
          "description": "Action based on the SSL cipher used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslNegotiation": {
          "type": "string",
          "description": "Action based on the SSL negotiation used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslVersion": {
          "type": "string",
          "description": "Action based on the SSL version used being unsupported.\n"
        },
        "untrustedServerCert": {
          "type": "string",
          "description": "Allow, ignore, or block the untrusted SSL session server certificate. Valid values: `allow`, `block`, `ignore`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "certValidationFailure",
            "certValidationTimeout",
            "clientCertRequest",
            "clientCertificate",
            "expiredServerCert",
            "invalidServerCert",
            "minAllowedSslVersion",
            "ports",
            "revokedServerCert",
            "sniServerCertCheck",
            "status",
            "unsupportedSsl",
            "unsupportedSslCipher",
            "unsupportedSslNegotiation",
            "unsupportedSslVersion",
            "untrustedServerCert"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofileHttps:SslsshprofileHttps": {
      "properties": {
        "certProbeFailure": {
          "type": "string",
          "description": "Action based on certificate probe failure. Valid values: `allow`, `block`.\n"
        },
        "certValidationFailure": {
          "type": "string",
          "description": "Action based on certificate validation failure. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "certValidationTimeout": {
          "type": "string",
          "description": "Action based on certificate validation timeout. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "clientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "clientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "encryptedClientHello": {
          "type": "string",
          "description": "Block/allow session based on existence of encrypted-client-hello. Valid values: `allow`, `block`.\n"
        },
        "expiredServerCert": {
          "type": "string",
          "description": "Action based on server certificate is expired. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "invalidServerCert": {
          "type": "string",
          "description": "Allow or block the invalid SSL session server certificate. Valid values: `allow`, `block`.\n"
        },
        "minAllowedSslVersion": {
          "type": "string",
          "description": "Minimum SSL version to be allowed. Valid values: `ssl-3.0`, `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        },
        "ports": {
          "type": "string",
          "description": "Ports to use for scanning (1 - 65535, default = 443).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before). Valid values: `enable`, `disable`.\n"
        },
        "quic": {
          "type": "string",
          "description": "QUIC inspection status. On FortiOS versions 7.4.1: default = disable. On FortiOS versions >= 7.4.2: default = inspect.\n"
        },
        "revokedServerCert": {
          "type": "string",
          "description": "Action based on server certificate is revoked. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "sniServerCertCheck": {
          "type": "string",
          "description": "Check the SNI in the client hello message with the CN or SAN fields in the returned server certificate. Valid values: `enable`, `strict`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Configure protocol inspection status. Valid values: `disable`, `certificate-inspection`, `deep-inspection`.\n"
        },
        "unsupportedSsl": {
          "type": "string",
          "description": "Action based on the SSL encryption used being unsupported. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "unsupportedSslCipher": {
          "type": "string",
          "description": "Action based on the SSL cipher used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslNegotiation": {
          "type": "string",
          "description": "Action based on the SSL negotiation used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslVersion": {
          "type": "string",
          "description": "Action based on the SSL version used being unsupported.\n"
        },
        "untrustedServerCert": {
          "type": "string",
          "description": "Allow, ignore, or block the untrusted SSL session server certificate. Valid values: `allow`, `block`, `ignore`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "certProbeFailure",
            "certValidationFailure",
            "certValidationTimeout",
            "clientCertRequest",
            "clientCertificate",
            "encryptedClientHello",
            "expiredServerCert",
            "invalidServerCert",
            "minAllowedSslVersion",
            "ports",
            "proxyAfterTcpHandshake",
            "quic",
            "revokedServerCert",
            "sniServerCertCheck",
            "status",
            "unsupportedSsl",
            "unsupportedSslCipher",
            "unsupportedSslNegotiation",
            "unsupportedSslVersion",
            "untrustedServerCert"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofileImaps:SslsshprofileImaps": {
      "properties": {
        "certValidationFailure": {
          "type": "string",
          "description": "Action based on certificate validation failure. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "certValidationTimeout": {
          "type": "string",
          "description": "Action based on certificate validation timeout. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "clientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "clientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "expiredServerCert": {
          "type": "string",
          "description": "Action based on server certificate is expired. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "invalidServerCert": {
          "type": "string",
          "description": "Allow or block the invalid SSL session server certificate. Valid values: `allow`, `block`.\n"
        },
        "ports": {
          "type": "string",
          "description": "Ports to use for scanning (1 - 65535, default = 443).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before). Valid values: `enable`, `disable`.\n"
        },
        "revokedServerCert": {
          "type": "string",
          "description": "Action based on server certificate is revoked. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "sniServerCertCheck": {
          "type": "string",
          "description": "Check the SNI in the client hello message with the CN or SAN fields in the returned server certificate. Valid values: `enable`, `strict`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Configure protocol inspection status. Valid values: `disable`, `deep-inspection`.\n"
        },
        "unsupportedSsl": {
          "type": "string",
          "description": "Action based on the SSL encryption used being unsupported. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "unsupportedSslCipher": {
          "type": "string",
          "description": "Action based on the SSL cipher used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslNegotiation": {
          "type": "string",
          "description": "Action based on the SSL negotiation used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslVersion": {
          "type": "string",
          "description": "Action based on the SSL version used being unsupported.\n"
        },
        "untrustedServerCert": {
          "type": "string",
          "description": "Allow, ignore, or block the untrusted SSL session server certificate. Valid values: `allow`, `block`, `ignore`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "certValidationFailure",
            "certValidationTimeout",
            "clientCertRequest",
            "clientCertificate",
            "expiredServerCert",
            "invalidServerCert",
            "ports",
            "proxyAfterTcpHandshake",
            "revokedServerCert",
            "sniServerCertCheck",
            "status",
            "unsupportedSsl",
            "unsupportedSslCipher",
            "unsupportedSslNegotiation",
            "unsupportedSslVersion",
            "untrustedServerCert"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofilePop3s:SslsshprofilePop3s": {
      "properties": {
        "certValidationFailure": {
          "type": "string"
        },
        "certValidationTimeout": {
          "type": "string"
        },
        "clientCertRequest": {
          "type": "string"
        },
        "clientCertificate": {
          "type": "string"
        },
        "expiredServerCert": {
          "type": "string"
        },
        "invalidServerCert": {
          "type": "string"
        },
        "ports": {
          "type": "string"
        },
        "proxyAfterTcpHandshake": {
          "type": "string"
        },
        "revokedServerCert": {
          "type": "string"
        },
        "sniServerCertCheck": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "unsupportedSsl": {
          "type": "string"
        },
        "unsupportedSslCipher": {
          "type": "string"
        },
        "unsupportedSslNegotiation": {
          "type": "string"
        },
        "unsupportedSslVersion": {
          "type": "string"
        },
        "untrustedServerCert": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "certValidationFailure",
            "certValidationTimeout",
            "clientCertRequest",
            "clientCertificate",
            "expiredServerCert",
            "invalidServerCert",
            "ports",
            "proxyAfterTcpHandshake",
            "revokedServerCert",
            "sniServerCertCheck",
            "status",
            "unsupportedSsl",
            "unsupportedSslCipher",
            "unsupportedSslNegotiation",
            "unsupportedSslVersion",
            "untrustedServerCert"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofileSmtps:SslsshprofileSmtps": {
      "properties": {
        "certValidationFailure": {
          "type": "string",
          "description": "Action based on certificate validation failure. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "certValidationTimeout": {
          "type": "string",
          "description": "Action based on certificate validation timeout. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "clientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "clientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "expiredServerCert": {
          "type": "string",
          "description": "Action based on server certificate is expired. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "invalidServerCert": {
          "type": "string",
          "description": "Allow or block the invalid SSL session server certificate. Valid values: `allow`, `block`.\n"
        },
        "ports": {
          "type": "string",
          "description": "Ports to use for scanning (1 - 65535, default = 443).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before). Valid values: `enable`, `disable`.\n"
        },
        "revokedServerCert": {
          "type": "string",
          "description": "Action based on server certificate is revoked. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "sniServerCertCheck": {
          "type": "string",
          "description": "Check the SNI in the client hello message with the CN or SAN fields in the returned server certificate. Valid values: `enable`, `strict`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Configure protocol inspection status. Valid values: `disable`, `deep-inspection`.\n"
        },
        "unsupportedSsl": {
          "type": "string",
          "description": "Action based on the SSL encryption used being unsupported. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "unsupportedSslCipher": {
          "type": "string",
          "description": "Action based on the SSL cipher used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslNegotiation": {
          "type": "string",
          "description": "Action based on the SSL negotiation used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslVersion": {
          "type": "string",
          "description": "Action based on the SSL version used being unsupported.\n"
        },
        "untrustedServerCert": {
          "type": "string",
          "description": "Allow, ignore, or block the untrusted SSL session server certificate. Valid values: `allow`, `block`, `ignore`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "certValidationFailure",
            "certValidationTimeout",
            "clientCertRequest",
            "clientCertificate",
            "expiredServerCert",
            "invalidServerCert",
            "ports",
            "proxyAfterTcpHandshake",
            "revokedServerCert",
            "sniServerCertCheck",
            "status",
            "unsupportedSsl",
            "unsupportedSslCipher",
            "unsupportedSslNegotiation",
            "unsupportedSslVersion",
            "untrustedServerCert"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofileSsh:SslsshprofileSsh": {
      "properties": {
        "inspectAll": {
          "type": "string",
          "description": "Level of SSL inspection. Valid values: `disable`, `deep-inspection`.\n"
        },
        "ports": {
          "type": "string",
          "description": "Ports to use for scanning (1 - 65535, default = 443).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before). Valid values: `enable`, `disable`.\n"
        },
        "sshAlgorithm": {
          "type": "string",
          "description": "Relative strength of encryption algorithms accepted during negotiation. Valid values: `compatible`, `high-encryption`.\n"
        },
        "sshPolicyCheck": {
          "type": "string",
          "description": "Enable/disable SSH policy check. Valid values: `disable`, `enable`.\n"
        },
        "sshTunPolicyCheck": {
          "type": "string",
          "description": "Enable/disable SSH tunnel policy check. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Configure protocol inspection status. Valid values: `disable`, `deep-inspection`.\n"
        },
        "unsupportedVersion": {
          "type": "string",
          "description": "Action based on SSH version being unsupported. Valid values: `bypass`, `block`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "inspectAll",
            "ports",
            "proxyAfterTcpHandshake",
            "sshAlgorithm",
            "sshPolicyCheck",
            "sshTunPolicyCheck",
            "status",
            "unsupportedVersion"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofileSsl:SslsshprofileSsl": {
      "properties": {
        "certProbeFailure": {
          "type": "string",
          "description": "Action based on certificate probe failure. Valid values: `allow`, `block`.\n"
        },
        "certValidationFailure": {
          "type": "string",
          "description": "Action based on certificate validation failure. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "certValidationTimeout": {
          "type": "string",
          "description": "Action based on certificate validation timeout. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "clientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "clientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "encryptedClientHello": {
          "type": "string",
          "description": "Block/allow session based on existence of encrypted-client-hello. Valid values: `allow`, `block`.\n"
        },
        "expiredServerCert": {
          "type": "string",
          "description": "Action based on server certificate is expired. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "inspectAll": {
          "type": "string",
          "description": "Level of SSL inspection. Valid values: `disable`, `certificate-inspection`, `deep-inspection`.\n"
        },
        "invalidServerCert": {
          "type": "string",
          "description": "Allow or block the invalid SSL session server certificate. Valid values: `allow`, `block`.\n"
        },
        "minAllowedSslVersion": {
          "type": "string",
          "description": "Minimum SSL version to be allowed. Valid values: `ssl-3.0`, `tls-1.0`, `tls-1.1`, `tls-1.2`, `tls-1.3`.\n"
        },
        "revokedServerCert": {
          "type": "string",
          "description": "Action based on server certificate is revoked. Valid values: `allow`, `block`, `ignore`.\n"
        },
        "sniServerCertCheck": {
          "type": "string",
          "description": "Check the SNI in the client hello message with the CN or SAN fields in the returned server certificate. Valid values: `enable`, `strict`, `disable`.\n"
        },
        "unsupportedSsl": {
          "type": "string",
          "description": "Action based on the SSL encryption used being unsupported. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "unsupportedSslCipher": {
          "type": "string",
          "description": "Action based on the SSL cipher used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslNegotiation": {
          "type": "string",
          "description": "Action based on the SSL negotiation used being unsupported. Valid values: `allow`, `block`.\n"
        },
        "unsupportedSslVersion": {
          "type": "string",
          "description": "Action based on the SSL version used being unsupported.\n"
        },
        "untrustedServerCert": {
          "type": "string",
          "description": "Allow, ignore, or block the untrusted SSL session server certificate. Valid values: `allow`, `block`, `ignore`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "certProbeFailure",
            "certValidationFailure",
            "certValidationTimeout",
            "clientCertRequest",
            "clientCertificate",
            "encryptedClientHello",
            "expiredServerCert",
            "inspectAll",
            "invalidServerCert",
            "minAllowedSslVersion",
            "revokedServerCert",
            "sniServerCertCheck",
            "unsupportedSsl",
            "unsupportedSslCipher",
            "unsupportedSslNegotiation",
            "unsupportedSslVersion",
            "untrustedServerCert"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofileSslExempt:SslsshprofileSslExempt": {
      "properties": {
        "address": {
          "type": "string",
          "description": "IPv4 address object.\n"
        },
        "address6": {
          "type": "string",
          "description": "IPv6 address object.\n"
        },
        "fortiguardCategory": {
          "type": "integer",
          "description": "FortiGuard category ID.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID number.\n"
        },
        "regex": {
          "type": "string",
          "description": "Exempt servers by regular expression.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of address object (IPv4 or IPv6) or FortiGuard category. Valid values: `fortiguard-category`, `address`, `address6`, `wildcard-fqdn`, `regex`.\n"
        },
        "wildcardFqdn": {
          "type": "string",
          "description": "Exempt servers by wildcard FQDN.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "address",
            "address6",
            "fortiguardCategory",
            "id",
            "regex",
            "type",
            "wildcardFqdn"
          ]
        }
      }
    },
    "fortios:firewall/SslsshprofileSslServer:SslsshprofileSslServer": {
      "properties": {
        "ftpsClientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request during the FTPS handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "ftpsClientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate during the FTPS handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "httpsClientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request during the HTTPS handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "httpsClientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate during the HTTPS handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "id": {
          "type": "integer",
          "description": "SSL server ID.\n"
        },
        "imapsClientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request during the IMAPS handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "imapsClientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate during the IMAPS handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the SSL server.\n"
        },
        "pop3sClientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request during the POP3S handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "pop3sClientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate during the POP3S handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "smtpsClientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request during the SMTPS handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "smtpsClientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate during the SMTPS handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "sslOtherClientCertRequest": {
          "type": "string",
          "description": "Action based on client certificate request during an SSL protocol handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        },
        "sslOtherClientCertificate": {
          "type": "string",
          "description": "Action based on received client certificate during an SSL protocol handshake. Valid values: `bypass`, `inspect`, `block`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ftpsClientCertRequest",
            "ftpsClientCertificate",
            "httpsClientCertRequest",
            "httpsClientCertificate",
            "id",
            "imapsClientCertRequest",
            "imapsClientCertificate",
            "ip",
            "pop3sClientCertRequest",
            "pop3sClientCertificate",
            "smtpsClientCertRequest",
            "smtpsClientCertificate",
            "sslOtherClientCertRequest",
            "sslOtherClientCertificate"
          ]
        }
      }
    },
    "fortios:firewall/TtlpolicyService:TtlpolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/TtlpolicySrcaddr:TtlpolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Vip46Monitor:Vip46Monitor": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Health monitor name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Vip46Realserver:Vip46Realserver": {
      "properties": {
        "clientIp": {
          "type": "string",
          "description": "Restrict server to a client IP in this range.\n"
        },
        "healthcheck": {
          "type": "string",
          "description": "Per server health check. Valid values: `disable`, `enable`, `vip`.\n"
        },
        "holddownInterval": {
          "type": "integer",
          "description": "Hold down interval.\n"
        },
        "id": {
          "type": "integer",
          "description": "Real server ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "Mapped server IPv6.\n"
        },
        "maxConnections": {
          "type": "integer",
          "description": "Maximum number of connections allowed to server.\n"
        },
        "monitor": {
          "type": "string",
          "description": "Health monitors.\n"
        },
        "port": {
          "type": "integer",
          "description": "Mapped server port.\n"
        },
        "status": {
          "type": "string",
          "description": "Server administrative status. Valid values: `active`, `standby`, `disable`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "weight\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "clientIp",
            "healthcheck",
            "holddownInterval",
            "id",
            "ip",
            "maxConnections",
            "monitor",
            "port",
            "status",
            "weight"
          ]
        }
      }
    },
    "fortios:firewall/Vip46SrcFilter:Vip46SrcFilter": {
      "properties": {
        "range": {
          "type": "string",
          "description": "Src-filter range.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "range"
          ]
        }
      }
    },
    "fortios:firewall/Vip46SrcintfFilter:Vip46SrcintfFilter": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:firewall/Vip64Monitor:Vip64Monitor": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Health monitor name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Vip64Realserver:Vip64Realserver": {
      "properties": {
        "clientIp": {
          "type": "string",
          "description": "Restrict server to a client IP in this range.\n"
        },
        "healthcheck": {
          "type": "string",
          "description": "Per server health check. Valid values: `disable`, `enable`, `vip`.\n"
        },
        "holddownInterval": {
          "type": "integer",
          "description": "Hold down interval.\n"
        },
        "id": {
          "type": "integer",
          "description": "Real server ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "Mapped server IP.\n"
        },
        "maxConnections": {
          "type": "integer",
          "description": "Maximum number of connections allowed to server.\n"
        },
        "monitor": {
          "type": "string",
          "description": "Health monitors.\n"
        },
        "port": {
          "type": "integer",
          "description": "Mapped server port.\n"
        },
        "status": {
          "type": "string",
          "description": "Server administrative status. Valid values: `active`, `standby`, `disable`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "weight\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "clientIp",
            "healthcheck",
            "holddownInterval",
            "id",
            "ip",
            "maxConnections",
            "monitor",
            "port",
            "status",
            "weight"
          ]
        }
      }
    },
    "fortios:firewall/Vip64SrcFilter:Vip64SrcFilter": {
      "properties": {
        "range": {
          "type": "string",
          "description": "Src-filter range.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "range"
          ]
        }
      }
    },
    "fortios:firewall/Vip6Monitor:Vip6Monitor": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Health monitor name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Vip6Quic:Vip6Quic": {
      "properties": {
        "ackDelayExponent": {
          "type": "integer",
          "description": "ACK delay exponent (1 - 20, default = 3).\n"
        },
        "activeConnectionIdLimit": {
          "type": "integer",
          "description": "Active connection ID limit (1 - 8, default = 2).\n"
        },
        "activeMigration": {
          "type": "string",
          "description": "Enable/disable active migration (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "greaseQuicBit": {
          "type": "string",
          "description": "Enable/disable grease QUIC bit (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "maxAckDelay": {
          "type": "integer",
          "description": "Maximum ACK delay in milliseconds (1 - 16383, default = 25).\n"
        },
        "maxDatagramFrameSize": {
          "type": "integer",
          "description": "Maximum datagram frame size in bytes (1 - 1500, default = 1500).\n"
        },
        "maxIdleTimeout": {
          "type": "integer",
          "description": "Maximum idle timeout milliseconds (1 - 60000, default = 30000).\n"
        },
        "maxUdpPayloadSize": {
          "type": "integer",
          "description": "Maximum UDP payload size in bytes (1200 - 1500, default = 1500).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ackDelayExponent",
            "activeConnectionIdLimit",
            "activeMigration",
            "greaseQuicBit",
            "maxAckDelay",
            "maxDatagramFrameSize",
            "maxIdleTimeout",
            "maxUdpPayloadSize"
          ]
        }
      }
    },
    "fortios:firewall/Vip6Realserver:Vip6Realserver": {
      "properties": {
        "clientIp": {
          "type": "string",
          "description": "Only clients in this IP range can connect to this real server.\n"
        },
        "healthcheck": {
          "type": "string",
          "description": "Enable to check the responsiveness of the real server before forwarding traffic. Valid values: `disable`, `enable`, `vip`.\n"
        },
        "holddownInterval": {
          "type": "integer",
          "description": "Time in seconds that the health check monitor continues to monitor an unresponsive server that should be active.\n"
        },
        "httpHost": {
          "type": "string",
          "description": "HTTP server domain name in HTTP header.\n"
        },
        "id": {
          "type": "integer",
          "description": "Real server ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv6 address of the real server.\n"
        },
        "maxConnections": {
          "type": "integer",
          "description": "Max number of active connections that can directed to the real server. When reached, sessions are sent to other real servers.\n"
        },
        "monitor": {
          "type": "string",
          "description": "Name of the health check monitor to use when polling to determine a virtual server's connectivity status.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port for communicating with the real server. Required if port forwarding is enabled.\n"
        },
        "status": {
          "type": "string",
          "description": "Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic is sent. Valid values: `active`, `standby`, `disable`.\n"
        },
        "translateHost": {
          "type": "string",
          "description": "Enable/disable translation of hostname/IP from virtual server to real server. Valid values: `enable`, `disable`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of the real server. If weighted load balancing is enabled, the server with the highest weight gets more connections.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "clientIp",
            "healthcheck",
            "holddownInterval",
            "httpHost",
            "id",
            "ip",
            "maxConnections",
            "monitor",
            "port",
            "status",
            "translateHost",
            "weight"
          ]
        }
      }
    },
    "fortios:firewall/Vip6SrcFilter:Vip6SrcFilter": {
      "properties": {
        "range": {
          "type": "string",
          "description": "Source-filter range.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "range"
          ]
        }
      }
    },
    "fortios:firewall/Vip6SslCipherSuite:Vip6SslCipherSuite": {
      "properties": {
        "cipher": {
          "type": "string",
          "description": "Cipher suite name.\n"
        },
        "priority": {
          "type": "integer",
          "description": "SSL/TLS cipher suites priority.\n"
        },
        "versions": {
          "type": "string",
          "description": "SSL/TLS versions that the cipher suite can be used with.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cipher",
            "priority",
            "versions"
          ]
        }
      }
    },
    "fortios:firewall/Vip6SslServerCipherSuite:Vip6SslServerCipherSuite": {
      "properties": {
        "cipher": {
          "type": "string",
          "description": "Cipher suite name.\n"
        },
        "priority": {
          "type": "integer",
          "description": "SSL/TLS cipher suites priority.\n"
        },
        "versions": {
          "type": "string",
          "description": "SSL/TLS versions that the cipher suite can be used with.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cipher",
            "priority",
            "versions"
          ]
        }
      }
    },
    "fortios:firewall/VipExtaddr:VipExtaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/VipGslbPublicIp:VipGslbPublicIp": {
      "properties": {
        "index": {
          "type": "integer",
          "description": "Index of this public IP setting.\n"
        },
        "ip": {
          "type": "string",
          "description": "The publicly accessible IP address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "index",
            "ip"
          ]
        }
      }
    },
    "fortios:firewall/VipMappedip:VipMappedip": {
      "properties": {
        "range": {
          "type": "string",
          "description": "Mapped IP range.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "range"
          ]
        }
      }
    },
    "fortios:firewall/VipMonitor:VipMonitor": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Health monitor name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/VipQuic:VipQuic": {
      "properties": {
        "ackDelayExponent": {
          "type": "integer",
          "description": "ACK delay exponent (1 - 20, default = 3).\n"
        },
        "activeConnectionIdLimit": {
          "type": "integer",
          "description": "Active connection ID limit (1 - 8, default = 2).\n"
        },
        "activeMigration": {
          "type": "string",
          "description": "Enable/disable active migration (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "greaseQuicBit": {
          "type": "string",
          "description": "Enable/disable grease QUIC bit (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "maxAckDelay": {
          "type": "integer",
          "description": "Maximum ACK delay in milliseconds (1 - 16383, default = 25).\n"
        },
        "maxDatagramFrameSize": {
          "type": "integer",
          "description": "Maximum datagram frame size in bytes (1 - 1500, default = 1500).\n"
        },
        "maxIdleTimeout": {
          "type": "integer",
          "description": "Maximum idle timeout milliseconds (1 - 60000, default = 30000).\n"
        },
        "maxUdpPayloadSize": {
          "type": "integer",
          "description": "Maximum UDP payload size in bytes (1200 - 1500, default = 1500).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ackDelayExponent",
            "activeConnectionIdLimit",
            "activeMigration",
            "greaseQuicBit",
            "maxAckDelay",
            "maxDatagramFrameSize",
            "maxIdleTimeout",
            "maxUdpPayloadSize"
          ]
        }
      }
    },
    "fortios:firewall/VipRealserver:VipRealserver": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Dynamic address of the real server.\n"
        },
        "clientIp": {
          "type": "string",
          "description": "Only clients in this IP range can connect to this real server.\n"
        },
        "healthcheck": {
          "type": "string",
          "description": "Enable to check the responsiveness of the real server before forwarding traffic. Valid values: `disable`, `enable`, `vip`.\n"
        },
        "holddownInterval": {
          "type": "integer",
          "description": "Time in seconds that the health check monitor continues to monitor and unresponsive server that should be active.\n"
        },
        "httpHost": {
          "type": "string",
          "description": "HTTP server domain name in HTTP header.\n"
        },
        "id": {
          "type": "integer",
          "description": "Real server ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address of the real server.\n"
        },
        "maxConnections": {
          "type": "integer",
          "description": "Max number of active connections that can be directed to the real server. When reached, sessions are sent to other real servers.\n"
        },
        "monitor": {
          "type": "string",
          "description": "Name of the health check monitor to use when polling to determine a virtual server's connectivity status.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port for communicating with the real server. Required if port forwarding is enabled.\n"
        },
        "status": {
          "type": "string",
          "description": "Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic is sent. Valid values: `active`, `standby`, `disable`.\n"
        },
        "translateHost": {
          "type": "string",
          "description": "Enable/disable translation of hostname/IP from virtual server to real server. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of address. Valid values: `ip`, `address`.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of the real server. If weighted load balancing is enabled, the server with the highest weight gets more connections.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "address",
            "clientIp",
            "healthcheck",
            "holddownInterval",
            "httpHost",
            "id",
            "ip",
            "maxConnections",
            "monitor",
            "port",
            "status",
            "translateHost",
            "type",
            "weight"
          ]
        }
      }
    },
    "fortios:firewall/VipService:VipService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/VipSrcFilter:VipSrcFilter": {
      "properties": {
        "range": {
          "type": "string",
          "description": "Source-filter range.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "range"
          ]
        }
      }
    },
    "fortios:firewall/VipSrcintfFilter:VipSrcintfFilter": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:firewall/VipSslCipherSuite:VipSslCipherSuite": {
      "properties": {
        "cipher": {
          "type": "string",
          "description": "Cipher suite name.\n"
        },
        "priority": {
          "type": "integer",
          "description": "SSL/TLS cipher suites priority.\n"
        },
        "versions": {
          "type": "string",
          "description": "SSL/TLS versions that the cipher suite can be used with.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cipher",
            "priority",
            "versions"
          ]
        }
      }
    },
    "fortios:firewall/VipSslServerCipherSuite:VipSslServerCipherSuite": {
      "properties": {
        "cipher": {
          "type": "string",
          "description": "Cipher suite name.\n"
        },
        "priority": {
          "type": "integer",
          "description": "SSL/TLS cipher suites priority.\n"
        },
        "versions": {
          "type": "string",
          "description": "SSL/TLS versions that the cipher suite can be used with.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cipher",
            "priority",
            "versions"
          ]
        }
      }
    },
    "fortios:firewall/Vipgrp46Member:Vipgrp46Member": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VIP46 name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Vipgrp64Member:Vipgrp64Member": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VIP64 name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/Vipgrp6Member:Vipgrp6Member": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 VIP name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/VipgrpMember:VipgrpMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VIP name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyAppCategory:PolicyAppCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Category IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyAppGroup:PolicyAppGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyApplication:PolicyApplication": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyDstaddr4:PolicyDstaddr4": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyDstaddr6:PolicyDstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyDstintf:PolicyDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyFssoGroup:PolicyFssoGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyGroup:PolicyGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyInternetServiceCustom:PolicyInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyInternetServiceCustomGroup:PolicyInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyInternetServiceGroup:PolicyInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyInternetServiceId:PolicyInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyInternetServiceName:PolicyInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyInternetServiceSrcCustom:PolicyInternetServiceSrcCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyInternetServiceSrcCustomGroup:PolicyInternetServiceSrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyInternetServiceSrcGroup:PolicyInternetServiceSrcGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyInternetServiceSrcId:PolicyInternetServiceSrcId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyInternetServiceSrcName:PolicyInternetServiceSrcName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyPoolname4:PolicyPoolname4": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyPoolname6:PolicyPoolname6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyService:PolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicySrcaddr4:PolicySrcaddr4": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicySrcaddr6:PolicySrcaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicySrcintf:PolicySrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyUrlCategory:PolicyUrlCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/PolicyUser:PolicyUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyAppCategory:getPolicyAppCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyAppGroup:getPolicyAppGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyApplication:getPolicyApplication": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyDstaddr4:getPolicyDstaddr4": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyDstaddr6:getPolicyDstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyDstintf:getPolicyDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyFssoGroup:getPolicyFssoGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyGroup:getPolicyGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyInternetServiceCustom:getPolicyInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyInternetServiceCustomGroup:getPolicyInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyInternetServiceGroup:getPolicyInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyInternetServiceId:getPolicyInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyInternetServiceName:getPolicyInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyInternetServiceSrcCustom:getPolicyInternetServiceSrcCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyInternetServiceSrcCustomGroup:getPolicyInternetServiceSrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyInternetServiceSrcGroup:getPolicyInternetServiceSrcGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyInternetServiceSrcId:getPolicyInternetServiceSrcId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyInternetServiceSrcName:getPolicyInternetServiceSrcName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyPoolname4:getPolicyPoolname4": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyPoolname6:getPolicyPoolname6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyService:getPolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicySrcaddr4:getPolicySrcaddr4": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicySrcaddr6:getPolicySrcaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicySrcintf:getPolicySrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyUrlCategory:getPolicyUrlCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/consolidated/getPolicyUser:getPolicyUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application group names.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddress6List:getAddress6List": {
      "properties": {
        "ip": {
          "type": "string",
          "description": "IP.\n"
        }
      },
      "type": "object",
      "required": [
        "ip"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddress6Macaddr:getAddress6Macaddr": {
      "properties": {
        "macaddr": {
          "type": "string",
          "description": "MAC address ranges <start>[-<end>] separated by space.\n"
        }
      },
      "type": "object",
      "required": [
        "macaddr"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddress6SubnetSegment:getAddress6SubnetSegment": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall address6.\n"
        },
        "type": {
          "type": "string",
          "description": "Subnet segment type.\n"
        },
        "value": {
          "type": "string",
          "description": "Subnet segment value.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "type",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddress6Tagging:getAddress6Tagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall address6.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetAddress6TaggingTag:getAddress6TaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "name",
        "tags"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddress6TaggingTag:getAddress6TaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall address6.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddress6templateSubnetSegment:getAddress6templateSubnetSegment": {
      "properties": {
        "bits": {
          "type": "integer",
          "description": "Number of bits.\n"
        },
        "exclusive": {
          "type": "string",
          "description": "Enable/disable exclusive value.\n"
        },
        "id": {
          "type": "integer",
          "description": "Subnet segment ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall address6template.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetAddress6templateSubnetSegmentValue:getAddress6templateSubnetSegmentValue"
          },
          "description": "Subnet segment values. The structure of `values` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "bits",
        "exclusive",
        "id",
        "name",
        "values"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddress6templateSubnetSegmentValue:getAddress6templateSubnetSegmentValue": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall address6template.\n"
        },
        "value": {
          "type": "string",
          "description": "Subnet segment value.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddressFssoGroup:getAddressFssoGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall address.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddressList:getAddressList": {
      "properties": {
        "ip": {
          "type": "string",
          "description": "IP.\n"
        }
      },
      "type": "object",
      "required": [
        "ip"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddressMacaddr:getAddressMacaddr": {
      "properties": {
        "macaddr": {
          "type": "string",
          "description": "MAC address ranges <start>[-<end>] separated by space.\n"
        }
      },
      "type": "object",
      "required": [
        "macaddr"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddressTagging:getAddressTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall address.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetAddressTaggingTag:getAddressTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "name",
        "tags"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddressTaggingTag:getAddressTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall address.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddrgrp6ExcludeMember:getAddrgrp6ExcludeMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall addrgrp6.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddrgrp6Member:getAddrgrp6Member": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall addrgrp6.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddrgrp6Tagging:getAddrgrp6Tagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall addrgrp6.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetAddrgrp6TaggingTag:getAddrgrp6TaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "name",
        "tags"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddrgrp6TaggingTag:getAddrgrp6TaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall addrgrp6.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddrgrpExcludeMember:getAddrgrpExcludeMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall addrgrp.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddrgrpMember:getAddrgrpMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall addrgrp.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddrgrpTagging:getAddrgrpTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall addrgrp.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetAddrgrpTaggingTag:getAddrgrpTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "name",
        "tags"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getAddrgrpTaggingTag:getAddrgrpTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall addrgrp.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getCentralsnatmapDstAddr6:getCentralsnatmapDstAddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getCentralsnatmapDstAddr:getCentralsnatmapDstAddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getCentralsnatmapDstintf:getCentralsnatmapDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getCentralsnatmapNatIppool6:getCentralsnatmapNatIppool6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getCentralsnatmapNatIppool:getCentralsnatmapNatIppool": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getCentralsnatmapOrigAddr6:getCentralsnatmapOrigAddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getCentralsnatmapOrigAddr:getCentralsnatmapOrigAddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getCentralsnatmapSrcintf:getCentralsnatmapSrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getDoSpolicy6Anomaly:getDoSpolicy6Anomaly": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken when the threshold is reached.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable anomaly logging.\n"
        },
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Quarantine method.\n"
        },
        "quarantineExpiry": {
          "type": "string",
          "description": "Duration of quarantine. (Format ###d##h##m, minimum 1m, maximum 364d23h59m, default = 5m). Requires quarantine set to attacker.\n"
        },
        "quarantineLog": {
          "type": "string",
          "description": "Enable/disable quarantine logging.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this anomaly.\n"
        },
        "threshold": {
          "type": "integer",
          "description": "Anomaly threshold. Number of detected instances per minute that triggers the anomaly action.\n"
        },
        "thresholddefault": {
          "type": "integer",
          "description": "Number of detected instances per minute which triggers action (1 - 2147483647, default = 1000). Note that each anomaly has a different threshold value assigned to it.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "log",
        "name",
        "quarantine",
        "quarantineExpiry",
        "quarantineLog",
        "status",
        "threshold",
        "thresholddefault"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getDoSpolicy6Dstaddr:getDoSpolicy6Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getDoSpolicy6Service:getDoSpolicy6Service": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getDoSpolicy6Srcaddr:getDoSpolicy6Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getDoSpolicyAnomaly:getDoSpolicyAnomaly": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken when the threshold is reached.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable anomaly logging.\n"
        },
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Quarantine method.\n"
        },
        "quarantineExpiry": {
          "type": "string",
          "description": "Duration of quarantine. (Format ###d##h##m, minimum 1m, maximum 364d23h59m, default = 5m). Requires quarantine set to attacker.\n"
        },
        "quarantineLog": {
          "type": "string",
          "description": "Enable/disable quarantine logging.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this anomaly.\n"
        },
        "threshold": {
          "type": "integer",
          "description": "Anomaly threshold. Number of detected instances per minute that triggers the anomaly action.\n"
        },
        "thresholddefault": {
          "type": "integer",
          "description": "Number of detected instances per minute which triggers action (1 - 2147483647, default = 1000). Note that each anomaly has a different threshold value assigned to it.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "log",
        "name",
        "quarantine",
        "quarantineExpiry",
        "quarantineLog",
        "status",
        "threshold",
        "thresholddefault"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getDoSpolicyDstaddr:getDoSpolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getDoSpolicyService:getDoSpolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getDoSpolicySrcaddr:getDoSpolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Anomaly name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetservicecustomEntry:getInternetservicecustomEntry": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6)\n"
        },
        "dst6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetInternetservicecustomEntryDst6:getInternetservicecustomEntryDst6"
          },
          "description": "Destination address6 or address6 group name. The structure of `dst6` block is documented below.\n"
        },
        "dsts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetInternetservicecustomEntryDst:getInternetservicecustomEntryDst"
          },
          "description": "Destination address or address group name. The structure of `dst` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom entry port range ID.\n"
        },
        "portRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetInternetservicecustomEntryPortRange:getInternetservicecustomEntryPortRange"
          },
          "description": "Port ranges in the custom entry. The structure of `port_range` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        }
      },
      "type": "object",
      "required": [
        "addrMode",
        "dst6s",
        "dsts",
        "id",
        "portRanges",
        "protocol"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetservicecustomEntryDst6:getInternetservicecustomEntryDst6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall internetservicecustom.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetservicecustomEntryDst:getInternetservicecustomEntryDst": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall internetservicecustom.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetservicecustomEntryPortRange:getInternetservicecustomEntryPortRange": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "Integer value for ending TCP/UDP/SCTP destination port in range (1 to 65535).\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom entry port range ID.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Integer value for starting TCP/UDP/SCTP destination port in range (1 to 65535).\n"
        }
      },
      "type": "object",
      "required": [
        "endPort",
        "id",
        "startPort"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetservicecustomgroupMember:getInternetservicecustomgroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall internetservicecustomgroup.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetservicedefinitionEntry:getInternetservicedefinitionEntry": {
      "properties": {
        "categoryId": {
          "type": "integer",
          "description": "Internet Service category ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Integer value for ending TCP/UDP/SCTP destination port in range (0 to 65535). 0 means undefined.\n"
        },
        "portRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetInternetservicedefinitionEntryPortRange:getInternetservicedefinitionEntryPortRange"
          },
          "description": "Port ranges in the definition entry. The structure of `port_range` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Entry sequence number.\n"
        }
      },
      "type": "object",
      "required": [
        "categoryId",
        "name",
        "port",
        "portRanges",
        "protocol",
        "seqNum"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetservicedefinitionEntryPortRange:getInternetservicedefinitionEntryPortRange": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "Ending TCP/UDP/SCTP destination port (1 to 65535).\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom entry port range ID.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Starting TCP/UDP/SCTP destination port (1 to 65535).\n"
        }
      },
      "type": "object",
      "required": [
        "endPort",
        "id",
        "startPort"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetserviceextensionDisableEntry:getInternetserviceextensionDisableEntry": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6)\n"
        },
        "id": {
          "type": "integer",
          "description": "Disable entry range ID.\n"
        },
        "ip6Ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetInternetserviceextensionDisableEntryIp6Range:getInternetserviceextensionDisableEntryIp6Range"
          },
          "description": "IPv6 ranges in the disable entry. The structure of `ip6_range` block is documented below.\n"
        },
        "ipRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetInternetserviceextensionDisableEntryIpRange:getInternetserviceextensionDisableEntryIpRange"
          },
          "description": "IP ranges in the disable entry. The structure of `ip_range` block is documented below.\n"
        },
        "port": {
          "type": "integer",
          "description": "Integer value for the TCP/IP port (0 - 65535).\n"
        },
        "portRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetInternetserviceextensionDisableEntryPortRange:getInternetserviceextensionDisableEntryPortRange"
          },
          "description": "Port ranges in the disable entry. The structure of `port_range` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        }
      },
      "type": "object",
      "required": [
        "addrMode",
        "id",
        "ip6Ranges",
        "ipRanges",
        "port",
        "portRanges",
        "protocol"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetserviceextensionDisableEntryIp6Range:getInternetserviceextensionDisableEntryIp6Range": {
      "properties": {
        "endIp6": {
          "type": "string",
          "description": "End IPv6 address.\n"
        },
        "id": {
          "type": "integer",
          "description": "Disable entry range ID.\n"
        },
        "startIp6": {
          "type": "string",
          "description": "Start IPv6 address.\n"
        }
      },
      "type": "object",
      "required": [
        "endIp6",
        "id",
        "startIp6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetserviceextensionDisableEntryIpRange:getInternetserviceextensionDisableEntryIpRange": {
      "properties": {
        "endIp": {
          "type": "string",
          "description": "End IP address.\n"
        },
        "id": {
          "type": "integer",
          "description": "Disable entry range ID.\n"
        },
        "startIp": {
          "type": "string",
          "description": "Start IP address.\n"
        }
      },
      "type": "object",
      "required": [
        "endIp",
        "id",
        "startIp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetserviceextensionDisableEntryPortRange:getInternetserviceextensionDisableEntryPortRange": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "Ending TCP/UDP/SCTP destination port (1 to 65535).\n"
        },
        "id": {
          "type": "integer",
          "description": "Disable entry range ID.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Starting TCP/UDP/SCTP destination port (1 to 65535).\n"
        }
      },
      "type": "object",
      "required": [
        "endPort",
        "id",
        "startPort"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetserviceextensionEntry:getInternetserviceextensionEntry": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6)\n"
        },
        "dst6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetInternetserviceextensionEntryDst6:getInternetserviceextensionEntryDst6"
          },
          "description": "Destination address6 or address6 group name. The structure of `dst6` block is documented below.\n"
        },
        "dsts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetInternetserviceextensionEntryDst:getInternetserviceextensionEntryDst"
          },
          "description": "Destination address or address group name. The structure of `dst` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "Disable entry range ID.\n"
        },
        "portRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetInternetserviceextensionEntryPortRange:getInternetserviceextensionEntryPortRange"
          },
          "description": "Port ranges in the disable entry. The structure of `port_range` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        }
      },
      "type": "object",
      "required": [
        "addrMode",
        "dst6s",
        "dsts",
        "id",
        "portRanges",
        "protocol"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetserviceextensionEntryDst6:getInternetserviceextensionEntryDst6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Select the destination address6 or address group object from available options.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetserviceextensionEntryDst:getInternetserviceextensionEntryDst": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Select the destination address6 or address group object from available options.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetserviceextensionEntryPortRange:getInternetserviceextensionEntryPortRange": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "Ending TCP/UDP/SCTP destination port (1 to 65535).\n"
        },
        "id": {
          "type": "integer",
          "description": "Disable entry range ID.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Starting TCP/UDP/SCTP destination port (1 to 65535).\n"
        }
      },
      "type": "object",
      "required": [
        "endPort",
        "id",
        "startPort"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getInternetservicegroupMember:getInternetservicegroupMember": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall internetservicegroup.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getMulticastaddress6Tagging:getMulticastaddress6Tagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall multicastaddress6.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetMulticastaddress6TaggingTag:getMulticastaddress6TaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "name",
        "tags"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getMulticastaddress6TaggingTag:getMulticastaddress6TaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall multicastaddress6.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getMulticastaddressTagging:getMulticastaddressTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall multicastaddress.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetMulticastaddressTaggingTag:getMulticastaddressTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "name",
        "tags"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getMulticastaddressTaggingTag:getMulticastaddressTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall multicastaddress.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy46Dstaddr:getPolicy46Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy46Poolname:getPolicy46Poolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy46Service:getPolicy46Service": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy46Srcaddr:getPolicy46Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy64Dstaddr:getPolicy64Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy64Poolname:getPolicy64Poolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy64Service:getPolicy64Service": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy64Srcaddr:getPolicy64Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6AppCategory:getPolicy6AppCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6AppGroup:getPolicy6AppGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6Application:getPolicy6Application": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6CustomLogField:getPolicy6CustomLogField": {
      "properties": {
        "fieldId": {
          "type": "string",
          "description": "Custom log field.\n"
        }
      },
      "type": "object",
      "required": [
        "fieldId"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6Device:getPolicy6Device": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6Dstaddr:getPolicy6Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6Dstintf:getPolicy6Dstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6FssoGroup:getPolicy6FssoGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6Group:getPolicy6Group": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6Poolname:getPolicy6Poolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6Service:getPolicy6Service": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6Srcaddr:getPolicy6Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6Srcintf:getPolicy6Srcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6SslMirrorIntf:getPolicy6SslMirrorIntf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6UrlCategory:getPolicy6UrlCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL category ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicy6User:getPolicy6User": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of FSSO groups.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyAppCategory:getPolicyAppCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Security group tag.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyAppGroup:getPolicyAppGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyApplication:getPolicyApplication": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Security group tag.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyCustomLogField:getPolicyCustomLogField": {
      "properties": {
        "fieldId": {
          "type": "string",
          "description": "Custom log field.\n"
        }
      },
      "type": "object",
      "required": [
        "fieldId"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyDevice:getPolicyDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyDstaddr6:getPolicyDstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyDstaddr:getPolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyDstintf:getPolicyDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyFssoGroup:getPolicyFssoGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyGroup:getPolicyGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetService6Custom:getPolicyInternetService6Custom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetService6CustomGroup:getPolicyInternetService6CustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetService6Group:getPolicyInternetService6Group": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetService6Name:getPolicyInternetService6Name": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetService6SrcCustom:getPolicyInternetService6SrcCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetService6SrcCustomGroup:getPolicyInternetService6SrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetService6SrcGroup:getPolicyInternetService6SrcGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetService6SrcName:getPolicyInternetService6SrcName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetServiceCustom:getPolicyInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetServiceCustomGroup:getPolicyInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetServiceGroup:getPolicyInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetServiceId:getPolicyInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Security group tag.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetServiceName:getPolicyInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetServiceSrcCustom:getPolicyInternetServiceSrcCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetServiceSrcCustomGroup:getPolicyInternetServiceSrcCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetServiceSrcGroup:getPolicyInternetServiceSrcGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetServiceSrcId:getPolicyInternetServiceSrcId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Security group tag.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyInternetServiceSrcName:getPolicyInternetServiceSrcName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyNetworkServiceDynamic:getPolicyNetworkServiceDynamic": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyNetworkServiceSrcDynamic:getPolicyNetworkServiceSrcDynamic": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyNtlmEnabledBrowser:getPolicyNtlmEnabledBrowser": {
      "properties": {
        "userAgentString": {
          "type": "string",
          "description": "User agent string.\n"
        }
      },
      "type": "object",
      "required": [
        "userAgentString"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyPcpPoolname:getPolicyPcpPoolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyPoolname6:getPolicyPoolname6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyPoolname:getPolicyPoolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyRtpAddr:getPolicyRtpAddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyService:getPolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicySgt:getPolicySgt": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Security group tag.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicySrcVendorMac:getPolicySrcVendorMac": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Security group tag.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicySrcaddr6:getPolicySrcaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicySrcaddr:getPolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicySrcintf:getPolicySrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicySslMirrorIntf:getPolicySslMirrorIntf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyUrlCategory:getPolicyUrlCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Security group tag.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyUser:getPolicyUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyZtnaEmsTag:getPolicyZtnaEmsTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyZtnaEmsTagSecondary:getPolicyZtnaEmsTagSecondary": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getPolicyZtnaGeoTag:getPolicyZtnaGeoTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Mirror Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsCif:getProfileprotocoloptionsCif": {
      "properties": {
        "domainController": {
          "type": "string",
          "description": "Domain for which to decrypt CIFS traffic.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (1 - 383 MB, default = 10).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 445).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files.\n"
        },
        "serverCredentialType": {
          "type": "string",
          "description": "CIFS server credential type.\n"
        },
        "serverKeytabs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetProfileprotocoloptionsCifServerKeytab:getProfileprotocoloptionsCifServerKeytab"
          },
          "description": "Server keytab. The structure of `server_keytab` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate.\n"
        },
        "tcpWindowMaximum": {
          "type": "integer",
          "description": "Maximum dynamic TCP window size (default = 8MB).\n"
        },
        "tcpWindowMinimum": {
          "type": "integer",
          "description": "Minimum dynamic TCP window size (default = 128KB).\n"
        },
        "tcpWindowSize": {
          "type": "integer",
          "description": "Set TCP static window size (default = 256KB).\n"
        },
        "tcpWindowType": {
          "type": "string",
          "description": "Specify type of TCP window to use for this protocol.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (0 - 383 MB, 0 = unlimited, default = 10).\n"
        }
      },
      "type": "object",
      "required": [
        "domainController",
        "options",
        "oversizeLimit",
        "ports",
        "scanBzip2",
        "serverCredentialType",
        "serverKeytabs",
        "status",
        "tcpWindowMaximum",
        "tcpWindowMinimum",
        "tcpWindowSize",
        "tcpWindowType",
        "uncompressedNestLimit",
        "uncompressedOversizeLimit"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsCifServerKeytab:getProfileprotocoloptionsCifServerKeytab": {
      "properties": {
        "keytab": {
          "type": "string",
          "description": "Base64 encoded keytab file containing credential of the server.\n"
        },
        "principal": {
          "type": "string",
          "description": "Service principal.  For example, \"host/cifsserver.example.com@example.com\".\n"
        }
      },
      "type": "object",
      "required": [
        "keytab",
        "principal"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsDn:getProfileprotocoloptionsDn": {
      "properties": {
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 445).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate.\n"
        }
      },
      "type": "object",
      "required": [
        "ports",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsFtp:getProfileprotocoloptionsFtp": {
      "properties": {
        "comfortAmount": {
          "type": "integer",
          "description": "Amount of data to send in a transmission for client comforting (1 - 65535 bytes, default = 1).\n"
        },
        "comfortInterval": {
          "type": "integer",
          "description": "Period of time between start, or last transmission, and the next client comfort transmission of data (1 - 900 sec, default = 10).\n"
        },
        "explicitFtpTls": {
          "type": "string",
          "description": "Enable/disable FTP redirection for explicit FTPS.\n"
        },
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (1 - 383 MB, default = 10).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 445).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate.\n"
        },
        "streamBasedUncompressedLimit": {
          "type": "integer",
          "description": "Maximum stream-based uncompressed data size that will be scanned (MB, 0 = unlimited (default).  Stream-based uncompression used only under certain conditions.).\n"
        },
        "tcpWindowMaximum": {
          "type": "integer",
          "description": "Maximum dynamic TCP window size (default = 8MB).\n"
        },
        "tcpWindowMinimum": {
          "type": "integer",
          "description": "Minimum dynamic TCP window size (default = 128KB).\n"
        },
        "tcpWindowSize": {
          "type": "integer",
          "description": "Set TCP static window size (default = 256KB).\n"
        },
        "tcpWindowType": {
          "type": "string",
          "description": "Specify type of TCP window to use for this protocol.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (0 - 383 MB, 0 = unlimited, default = 10).\n"
        }
      },
      "type": "object",
      "required": [
        "comfortAmount",
        "comfortInterval",
        "explicitFtpTls",
        "inspectAll",
        "options",
        "oversizeLimit",
        "ports",
        "scanBzip2",
        "sslOffloaded",
        "status",
        "streamBasedUncompressedLimit",
        "tcpWindowMaximum",
        "tcpWindowMinimum",
        "tcpWindowSize",
        "tcpWindowType",
        "uncompressedNestLimit",
        "uncompressedOversizeLimit"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsHttp:getProfileprotocoloptionsHttp": {
      "properties": {
        "addressIpRating": {
          "type": "string",
          "description": "Enable/disable IP based URL rating.\n"
        },
        "blockPageStatusCode": {
          "type": "integer",
          "description": "Code number returned for blocked HTTP pages (non-FortiGuard only) (100 - 599, default = 403).\n"
        },
        "comfortAmount": {
          "type": "integer",
          "description": "Amount of data to send in a transmission for client comforting (1 - 65535 bytes, default = 1).\n"
        },
        "comfortInterval": {
          "type": "integer",
          "description": "Period of time between start, or last transmission, and the next client comfort transmission of data (1 - 900 sec, default = 10).\n"
        },
        "fortinetBar": {
          "type": "string",
          "description": "Enable/disable Fortinet bar on HTML content.\n"
        },
        "fortinetBarPort": {
          "type": "integer",
          "description": "Port for use by Fortinet Bar (1 - 65535, default = 8011).\n"
        },
        "h2c": {
          "type": "string",
          "description": "Enable/disable h2c HTTP connection upgrade.\n"
        },
        "httpPolicy": {
          "type": "string",
          "description": "Enable/disable HTTP policy check.\n"
        },
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (1 - 383 MB, default = 10).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 445).\n"
        },
        "postLang": {
          "type": "string",
          "description": "ID codes for character sets to be used to convert to UTF-8 for banned words and DLP on HTTP posts (maximum of 5 character sets).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before).\n"
        },
        "rangeBlock": {
          "type": "string",
          "description": "Enable/disable blocking of partial downloads.\n"
        },
        "retryCount": {
          "type": "integer",
          "description": "Number of attempts to retry HTTP connection (0 - 100, default = 0).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate.\n"
        },
        "streamBasedUncompressedLimit": {
          "type": "integer",
          "description": "Maximum stream-based uncompressed data size that will be scanned (MB, 0 = unlimited (default).  Stream-based uncompression used only under certain conditions.).\n"
        },
        "streamingContentBypass": {
          "type": "string",
          "description": "Enable/disable bypassing of streaming content from buffering.\n"
        },
        "stripXForwardedFor": {
          "type": "string",
          "description": "Enable/disable stripping of HTTP X-Forwarded-For header.\n"
        },
        "switchingProtocols": {
          "type": "string",
          "description": "Bypass from scanning, or block a connection that attempts to switch protocol.\n"
        },
        "tcpWindowMaximum": {
          "type": "integer",
          "description": "Maximum dynamic TCP window size (default = 8MB).\n"
        },
        "tcpWindowMinimum": {
          "type": "integer",
          "description": "Minimum dynamic TCP window size (default = 128KB).\n"
        },
        "tcpWindowSize": {
          "type": "integer",
          "description": "Set TCP static window size (default = 256KB).\n"
        },
        "tcpWindowType": {
          "type": "string",
          "description": "Specify type of TCP window to use for this protocol.\n"
        },
        "tunnelNonHttp": {
          "type": "string",
          "description": "Configure how to process non-HTTP traffic when a profile configured for HTTP traffic accepts a non-HTTP session. Can occur if an application sends non-HTTP traffic using an HTTP destination port.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (0 - 383 MB, 0 = unlimited, default = 10).\n"
        },
        "unknownContentEncoding": {
          "type": "string",
          "description": "Configure the action the FortiGate unit will take on unknown content-encoding.\n"
        },
        "unknownHttpVersion": {
          "type": "string",
          "description": "How to handle HTTP sessions that do not comply with HTTP 0.9, 1.0, or 1.1.\n"
        },
        "verifyDnsForPolicyMatching": {
          "type": "string",
          "description": "Enable/disable verification of DNS for policy matching.\n"
        }
      },
      "type": "object",
      "required": [
        "addressIpRating",
        "blockPageStatusCode",
        "comfortAmount",
        "comfortInterval",
        "fortinetBar",
        "fortinetBarPort",
        "h2c",
        "httpPolicy",
        "inspectAll",
        "options",
        "oversizeLimit",
        "ports",
        "postLang",
        "proxyAfterTcpHandshake",
        "rangeBlock",
        "retryCount",
        "scanBzip2",
        "sslOffloaded",
        "status",
        "streamBasedUncompressedLimit",
        "streamingContentBypass",
        "stripXForwardedFor",
        "switchingProtocols",
        "tcpWindowMaximum",
        "tcpWindowMinimum",
        "tcpWindowSize",
        "tcpWindowType",
        "tunnelNonHttp",
        "uncompressedNestLimit",
        "uncompressedOversizeLimit",
        "unknownContentEncoding",
        "unknownHttpVersion",
        "verifyDnsForPolicyMatching"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsImap:getProfileprotocoloptionsImap": {
      "properties": {
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (1 - 383 MB, default = 10).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 445).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (0 - 383 MB, 0 = unlimited, default = 10).\n"
        }
      },
      "type": "object",
      "required": [
        "inspectAll",
        "options",
        "oversizeLimit",
        "ports",
        "proxyAfterTcpHandshake",
        "scanBzip2",
        "sslOffloaded",
        "status",
        "uncompressedNestLimit",
        "uncompressedOversizeLimit"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsMailSignature:getProfileprotocoloptionsMailSignature": {
      "properties": {
        "signature": {
          "type": "string",
          "description": "Email signature to be added to outgoing email (if the signature contains spaces, enclose with quotation marks).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate.\n"
        }
      },
      "type": "object",
      "required": [
        "signature",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsMapi:getProfileprotocoloptionsMapi": {
      "properties": {
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (1 - 383 MB, default = 10).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 445).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (0 - 383 MB, 0 = unlimited, default = 10).\n"
        }
      },
      "type": "object",
      "required": [
        "options",
        "oversizeLimit",
        "ports",
        "scanBzip2",
        "status",
        "uncompressedNestLimit",
        "uncompressedOversizeLimit"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsNntp:getProfileprotocoloptionsNntp": {
      "properties": {
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (1 - 383 MB, default = 10).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 445).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (0 - 383 MB, 0 = unlimited, default = 10).\n"
        }
      },
      "type": "object",
      "required": [
        "inspectAll",
        "options",
        "oversizeLimit",
        "ports",
        "proxyAfterTcpHandshake",
        "scanBzip2",
        "status",
        "uncompressedNestLimit",
        "uncompressedOversizeLimit"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsPop3:getProfileprotocoloptionsPop3": {
      "properties": {
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (1 - 383 MB, default = 10).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 445).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (0 - 383 MB, 0 = unlimited, default = 10).\n"
        }
      },
      "type": "object",
      "required": [
        "inspectAll",
        "options",
        "oversizeLimit",
        "ports",
        "proxyAfterTcpHandshake",
        "scanBzip2",
        "sslOffloaded",
        "status",
        "uncompressedNestLimit",
        "uncompressedOversizeLimit"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsSmtp:getProfileprotocoloptionsSmtp": {
      "properties": {
        "inspectAll": {
          "type": "string",
          "description": "Enable/disable the inspection of all ports for the protocol.\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (1 - 383 MB, default = 10).\n"
        },
        "ports": {
          "type": "integer",
          "description": "Ports to scan for content (1 - 65535, default = 445).\n"
        },
        "proxyAfterTcpHandshake": {
          "type": "string",
          "description": "Proxy traffic after the TCP 3-way handshake has been established (not before).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files.\n"
        },
        "serverBusy": {
          "type": "string",
          "description": "Enable/disable SMTP server busy when server not available.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding an email signature to SMTP email messages as they pass through the FortiGate.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (0 - 383 MB, 0 = unlimited, default = 10).\n"
        }
      },
      "type": "object",
      "required": [
        "inspectAll",
        "options",
        "oversizeLimit",
        "ports",
        "proxyAfterTcpHandshake",
        "scanBzip2",
        "serverBusy",
        "sslOffloaded",
        "status",
        "uncompressedNestLimit",
        "uncompressedOversizeLimit"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProfileprotocoloptionsSsh:getProfileprotocoloptionsSsh": {
      "properties": {
        "comfortAmount": {
          "type": "integer",
          "description": "Amount of data to send in a transmission for client comforting (1 - 65535 bytes, default = 1).\n"
        },
        "comfortInterval": {
          "type": "integer",
          "description": "Period of time between start, or last transmission, and the next client comfort transmission of data (1 - 900 sec, default = 10).\n"
        },
        "options": {
          "type": "string",
          "description": "One or more options that can be applied to the session.\n"
        },
        "oversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory file size that can be scanned (1 - 383 MB, default = 10).\n"
        },
        "scanBzip2": {
          "type": "string",
          "description": "Enable/disable scanning of BZip2 compressed files.\n"
        },
        "sslOffloaded": {
          "type": "string",
          "description": "SSL decryption and encryption performed by an external device.\n"
        },
        "streamBasedUncompressedLimit": {
          "type": "integer",
          "description": "Maximum stream-based uncompressed data size that will be scanned (MB, 0 = unlimited (default).  Stream-based uncompression used only under certain conditions.).\n"
        },
        "tcpWindowMaximum": {
          "type": "integer",
          "description": "Maximum dynamic TCP window size (default = 8MB).\n"
        },
        "tcpWindowMinimum": {
          "type": "integer",
          "description": "Minimum dynamic TCP window size (default = 128KB).\n"
        },
        "tcpWindowSize": {
          "type": "integer",
          "description": "Set TCP static window size (default = 256KB).\n"
        },
        "tcpWindowType": {
          "type": "string",
          "description": "Specify type of TCP window to use for this protocol.\n"
        },
        "uncompressedNestLimit": {
          "type": "integer",
          "description": "Maximum nested levels of compression that can be uncompressed and scanned (2 - 100, default = 12).\n"
        },
        "uncompressedOversizeLimit": {
          "type": "integer",
          "description": "Maximum in-memory uncompressed file size that can be scanned (0 - 383 MB, 0 = unlimited, default = 10).\n"
        }
      },
      "type": "object",
      "required": [
        "comfortAmount",
        "comfortInterval",
        "options",
        "oversizeLimit",
        "scanBzip2",
        "sslOffloaded",
        "streamBasedUncompressedLimit",
        "tcpWindowMaximum",
        "tcpWindowMinimum",
        "tcpWindowSize",
        "tcpWindowType",
        "uncompressedNestLimit",
        "uncompressedOversizeLimit"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxyaddressApplication:getProxyaddressApplication": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall proxyaddress.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxyaddressCategory:getProxyaddressCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxyaddressHeaderGroup:getProxyaddressHeaderGroup": {
      "properties": {
        "caseSensitivity": {
          "type": "string",
          "description": "Case sensitivity in pattern.\n"
        },
        "header": {
          "type": "string",
          "description": "HTTP header regular expression.\n"
        },
        "headerName": {
          "type": "string",
          "description": "HTTP header.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        }
      },
      "type": "object",
      "required": [
        "caseSensitivity",
        "header",
        "headerName",
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxyaddressTagging:getProxyaddressTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall proxyaddress.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetProxyaddressTaggingTag:getProxyaddressTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "name",
        "tags"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxyaddressTaggingTag:getProxyaddressTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall proxyaddress.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxyaddrgrpMember:getProxyaddrgrpMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall proxyaddrgrp.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxyaddrgrpTagging:getProxyaddrgrpTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall proxyaddrgrp.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FgetProxyaddrgrpTaggingTag:getProxyaddrgrpTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "name",
        "tags"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxyaddrgrpTaggingTag:getProxyaddrgrpTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewall proxyaddrgrp.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyAccessProxy6:getProxypolicyAccessProxy6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyAccessProxy:getProxypolicyAccessProxy": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyDstaddr6:getProxypolicyDstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyDstaddr:getProxypolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyDstintf:getProxypolicyDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyGroup:getProxypolicyGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyInternetService6Custom:getProxypolicyInternetService6Custom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyInternetService6CustomGroup:getProxypolicyInternetService6CustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyInternetService6Group:getProxypolicyInternetService6Group": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyInternetService6Name:getProxypolicyInternetService6Name": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyInternetServiceCustom:getProxypolicyInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyInternetServiceCustomGroup:getProxypolicyInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyInternetServiceGroup:getProxypolicyInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyInternetServiceId:getProxypolicyInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyInternetServiceName:getProxypolicyInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyPoolname:getProxypolicyPoolname": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyService:getProxypolicyService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicySrcaddr6:getProxypolicySrcaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicySrcaddr:getProxypolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicySrcintf:getProxypolicySrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyUser:getProxypolicyUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/getProxypolicyZtnaEmsTag:getProxypolicyZtnaEmsTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/schedule/GroupMember:GroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Schedule name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/schedule/getGroupMember:getGroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewallschedule group.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/service/CustomAppCategory:CustomAppCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application category id.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/service/CustomApplication:CustomApplication": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application id.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:firewall/service/GroupMember:GroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/service/getCustomAppCategory:getCustomAppCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application id.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/service/getCustomApplication:getCustomApplication": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application id.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/service/getGroupMember:getGroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewallservice group.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:firewall/wildcardfqdn/GroupMember:GroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:firewall/wildcardfqdn/getGroupMember:getGroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired firewallwildcardfqdn group.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:icap/ProfileIcapHeader:ProfileIcapHeader": {
      "properties": {
        "base64Encoding": {
          "type": "string",
          "description": "Enable/disable use of base64 encoding of HTTP content. Valid values: `disable`, `enable`.\n"
        },
        "content": {
          "type": "string",
          "description": "HTTP header content.\n"
        },
        "id": {
          "type": "integer",
          "description": "HTTP forwarded header ID.\n"
        },
        "name": {
          "type": "string",
          "description": "HTTP forwarded header name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "base64Encoding",
            "content",
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:icap/ProfileRespmodForwardRule:ProfileRespmodForwardRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to be taken for ICAP server. Valid values: `forward`, `bypass`.\n"
        },
        "headerGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:icap%2FProfileRespmodForwardRuleHeaderGroup:ProfileRespmodForwardRuleHeaderGroup"
          },
          "description": "HTTP header group. The structure of `header_group` block is documented below.\n"
        },
        "host": {
          "type": "string",
          "description": "Address object for the host.\n"
        },
        "httpRespStatusCodes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:icap%2FProfileRespmodForwardRuleHttpRespStatusCode:ProfileRespmodForwardRuleHttpRespStatusCode"
          },
          "description": "HTTP response status code. The structure of `http_resp_status_code` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "host",
            "name"
          ]
        }
      }
    },
    "fortios:icap/ProfileRespmodForwardRuleHeaderGroup:ProfileRespmodForwardRuleHeaderGroup": {
      "properties": {
        "caseSensitivity": {
          "type": "string",
          "description": "Enable/disable case sensitivity when matching header. Valid values: `disable`, `enable`.\n"
        },
        "header": {
          "type": "string",
          "description": "HTTP header regular expression.\n"
        },
        "headerName": {
          "type": "string",
          "description": "HTTP header.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "caseSensitivity",
            "header",
            "headerName",
            "id"
          ]
        }
      }
    },
    "fortios:icap/ProfileRespmodForwardRuleHttpRespStatusCode:ProfileRespmodForwardRuleHttpRespStatusCode": {
      "properties": {
        "code": {
          "type": "integer",
          "description": "HTTP response status code.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "code"
          ]
        }
      }
    },
    "fortios:icap/ServergroupServerList:ServergroupServerList": {
      "properties": {
        "name": {
          "type": "string",
          "description": "ICAP server name.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Optionally assign a weight of the forwarding server for weighted load balancing (1 - 100, default = 10).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "weight"
          ]
        }
      }
    },
    "fortios:ips/DecoderParameter:DecoderParameter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Parameter name.\n"
        },
        "value": {
          "type": "string",
          "description": "Parameter value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "value"
          ]
        }
      }
    },
    "fortios:ips/GlobalTlsActiveProbe:GlobalTlsActiveProbe": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address used for TLS active probe.\n"
        },
        "sourceIp6": {
          "type": "string",
          "description": "Source IPv6 address used for TLS active probe.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Virtual domain name for TLS active probe.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interface",
            "interfaceSelectMethod",
            "sourceIp",
            "sourceIp6",
            "vdom"
          ]
        }
      }
    },
    "fortios:ips/RuleMetadata:RuleMetadata": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "metaid": {
          "type": "integer",
          "description": "Meta ID.\n"
        },
        "valueid": {
          "type": "integer",
          "description": "Value ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "metaid",
            "valueid"
          ]
        }
      }
    },
    "fortios:ips/SensorEntry:SensorEntry": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action taken with traffic in which signatures are detected. Valid values: `pass`, `block`, `reset`, `default`.\n"
        },
        "application": {
          "type": "string",
          "description": "Applications to be protected. set application ? lists available applications. all includes all applications. other includes all unlisted applications.\n"
        },
        "cves": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorEntryCfe:SensorEntryCfe"
          },
          "description": "List of CVE IDs of the signatures to add to the sensor The structure of `cve` block is documented below.\n"
        },
        "defaultAction": {
          "type": "string",
          "description": "Signature default action filter. Valid values: `all`, `pass`, `block`.\n"
        },
        "defaultStatus": {
          "type": "string",
          "description": "Signature default status filter. Valid values: `all`, `enable`, `disable`.\n"
        },
        "exemptIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorEntryExemptIp:SensorEntryExemptIp"
          },
          "description": "Traffic from selected source or destination IP addresses is exempt from this signature. The structure of `exempt_ip` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID in IPS database (0 - 4294967295).\n"
        },
        "lastModified": {
          "type": "string",
          "description": "Filter by signature last modified date. Formats: before <date>, after <date>, between <start-date> <end-date>.\n"
        },
        "location": {
          "type": "string",
          "description": "Protect client or server traffic.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging of signatures included in filter. Valid values: `disable`, `enable`.\n"
        },
        "logAttackContext": {
          "type": "string",
          "description": "Enable/disable logging of attack context: URL buffer, header buffer, body buffer, packet buffer. Valid values: `disable`, `enable`.\n"
        },
        "logPacket": {
          "type": "string",
          "description": "Enable/disable packet logging. Enable to save the packet that triggers the filter. You can download the packets in pcap format for diagnostic use. Valid values: `disable`, `enable`.\n"
        },
        "os": {
          "type": "string",
          "description": "Operating systems to be protected.  all includes all operating systems. other includes all unlisted operating systems.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocols to be examined. set protocol ? lists available protocols. all includes all protocols. other includes all unlisted protocols.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Quarantine method. Valid values: `none`, `attacker`.\n"
        },
        "quarantineExpiry": {
          "type": "string",
          "description": "Duration of quarantine. (Format ###d##h##m, minimum 1m, maximum 364d23h59m, default = 5m). Requires quarantine set to attacker.\n"
        },
        "quarantineLog": {
          "type": "string",
          "description": "Enable/disable quarantine logging. Valid values: `disable`, `enable`.\n"
        },
        "rateCount": {
          "type": "integer",
          "description": "Count of the rate.\n"
        },
        "rateDuration": {
          "type": "integer",
          "description": "Duration (sec) of the rate.\n"
        },
        "rateMode": {
          "type": "string",
          "description": "Rate limit mode. Valid values: `periodical`, `continuous`.\n"
        },
        "rateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`, `dhcp-client-mac`, `dns-domain`.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorEntryRule:SensorEntryRule"
          },
          "description": "Identifies the predefined or custom IPS signatures to add to the sensor. The structure of `rule` block is documented below.\n"
        },
        "severity": {
          "type": "string",
          "description": "Relative severity of the signature, from info to critical. Log messages generated by the signature include the severity.\n"
        },
        "status": {
          "type": "string",
          "description": "Status of the signatures included in filter. default enables the filter and only use filters with default status of enable. Filters with default status of disable will not be used. Valid values: `disable`, `enable`, `default`.\n"
        },
        "vulnTypes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorEntryVulnType:SensorEntryVulnType"
          },
          "description": "List of signature vulnerability types to filter by. The structure of `vuln_type` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "application",
            "defaultAction",
            "defaultStatus",
            "id",
            "lastModified",
            "location",
            "log",
            "logAttackContext",
            "logPacket",
            "os",
            "protocol",
            "quarantine",
            "quarantineExpiry",
            "quarantineLog",
            "rateCount",
            "rateDuration",
            "rateMode",
            "rateTrack",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:ips/SensorEntryCfe:SensorEntryCfe": {
      "properties": {
        "cveEntry": {
          "type": "string",
          "description": "CVE IDs or CVE wildcards.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cveEntry"
          ]
        }
      }
    },
    "fortios:ips/SensorEntryExemptIp:SensorEntryExemptIp": {
      "properties": {
        "dstIp": {
          "type": "string",
          "description": "Destination IP address and netmask.\n"
        },
        "id": {
          "type": "integer",
          "description": "Exempt IP ID.\n"
        },
        "srcIp": {
          "type": "string",
          "description": "Source IP address and netmask.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dstIp",
            "id",
            "srcIp"
          ]
        }
      }
    },
    "fortios:ips/SensorEntryRule:SensorEntryRule": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Rule IPS.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:ips/SensorEntryVulnType:SensorEntryVulnType": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Vulnerability type ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:ips/SensorFilter:SensorFilter": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action of selected rules. Valid values: `pass`, `block`, `reset`, `default`.\n"
        },
        "application": {
          "type": "string",
          "description": "Vulnerable application filter.\n"
        },
        "location": {
          "type": "string",
          "description": "Vulnerability location filter.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging of selected rules. Valid values: `disable`, `enable`.\n"
        },
        "logPacket": {
          "type": "string",
          "description": "Enable/disable packet logging of selected rules. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Filter name.\n"
        },
        "os": {
          "type": "string",
          "description": "Vulnerable OS filter.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Vulnerable protocol filter.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Quarantine IP or interface. Valid values: `none`, `attacker`.\n"
        },
        "quarantineExpiry": {
          "type": "integer",
          "description": "Duration of quarantine in minute.\n"
        },
        "quarantineLog": {
          "type": "string",
          "description": "Enable/disable logging of selected quarantine. Valid values: `disable`, `enable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Vulnerability severity filter.\n"
        },
        "status": {
          "type": "string",
          "description": "Selected rules status. Valid values: `disable`, `enable`, `default`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "application",
            "location",
            "log",
            "logPacket",
            "name",
            "os",
            "protocol",
            "quarantine",
            "quarantineExpiry",
            "quarantineLog",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:ips/SensorOverride:SensorOverride": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action of override rule. Valid values: `pass`, `block`, `reset`.\n"
        },
        "exemptIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorOverrideExemptIp:SensorOverrideExemptIp"
          },
          "description": "Exempted IP. The structure of `exempt_ip` block is documented below.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `disable`, `enable`.\n"
        },
        "logPacket": {
          "type": "string",
          "description": "Enable/disable packet logging. Valid values: `disable`, `enable`.\n"
        },
        "quarantine": {
          "type": "string",
          "description": "Quarantine IP or interface. Valid values: `none`, `attacker`.\n"
        },
        "quarantineExpiry": {
          "type": "integer",
          "description": "Duration of quarantine in minute.\n"
        },
        "quarantineLog": {
          "type": "string",
          "description": "Enable/disable logging of selected quarantine. Valid values: `disable`, `enable`.\n"
        },
        "ruleId": {
          "type": "integer",
          "description": "Override rule ID.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status of override rule. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "logPacket",
            "quarantine",
            "quarantineExpiry",
            "quarantineLog",
            "ruleId",
            "status"
          ]
        }
      }
    },
    "fortios:ips/SensorOverrideExemptIp:SensorOverrideExemptIp": {
      "properties": {
        "dstIp": {
          "type": "string",
          "description": "Destination IP address and netmask.\n"
        },
        "id": {
          "type": "integer",
          "description": "Exempt IP ID.\n"
        },
        "srcIp": {
          "type": "string",
          "description": "Source IP address and netmask.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dstIp",
            "id",
            "srcIp"
          ]
        }
      }
    },
    "fortios:log/SettingCustomLogField:SettingCustomLogField": {
      "properties": {
        "fieldId": {
          "type": "string",
          "description": "Custom log field.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "fieldId"
          ]
        }
      }
    },
    "fortios:log/ThreatweightApplication:ThreatweightApplication": {
      "properties": {
        "category": {
          "type": "integer",
          "description": "Application category.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "level": {
          "type": "string",
          "description": "Threat weight score for Application events. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "id",
            "level"
          ]
        }
      }
    },
    "fortios:log/ThreatweightGeolocation:ThreatweightGeolocation": {
      "properties": {
        "country": {
          "type": "string",
          "description": "Country code.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "level": {
          "type": "string",
          "description": "Threat weight score for Geolocation-based events. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "country",
            "id",
            "level"
          ]
        }
      }
    },
    "fortios:log/ThreatweightIps:ThreatweightIps": {
      "properties": {
        "criticalSeverity": {
          "type": "string",
          "description": "Threat weight score for IPS critical severity events. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "highSeverity": {
          "type": "string",
          "description": "Threat weight score for IPS high severity events. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "infoSeverity": {
          "type": "string",
          "description": "Threat weight score for IPS info severity events. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "lowSeverity": {
          "type": "string",
          "description": "Threat weight score for IPS low severity events. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "mediumSeverity": {
          "type": "string",
          "description": "Threat weight score for IPS medium severity events. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "criticalSeverity",
            "highSeverity",
            "infoSeverity",
            "lowSeverity",
            "mediumSeverity"
          ]
        }
      }
    },
    "fortios:log/ThreatweightLevel:ThreatweightLevel": {
      "properties": {
        "critical": {
          "type": "integer",
          "description": "Critical level score value (1 - 100).\n"
        },
        "high": {
          "type": "integer",
          "description": "High level score value (1 - 100).\n"
        },
        "low": {
          "type": "integer",
          "description": "Low level score value (1 - 100).\n"
        },
        "medium": {
          "type": "integer",
          "description": "Medium level score value (1 - 100).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "critical",
            "high",
            "low",
            "medium"
          ]
        }
      }
    },
    "fortios:log/ThreatweightMalware:ThreatweightMalware": {
      "properties": {
        "botnetConnection": {
          "type": "string",
          "description": "Threat weight score for detected botnet connections. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "commandBlocked": {
          "type": "string",
          "description": "Threat weight score for blocked command detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "contentDisarm": {
          "type": "string",
          "description": "Threat weight score for virus (content disarm) detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "emsThreatFeed": {
          "type": "string",
          "description": "Threat weight score for virus (EMS threat feed) detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "fileBlocked": {
          "type": "string",
          "description": "Threat weight score for blocked file detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "fortiai": {
          "type": "string",
          "description": "Threat weight score for FortiAI-detected virus. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "fortindr": {
          "type": "string",
          "description": "Threat weight score for FortiNDR-detected virus. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "fortisandbox": {
          "type": "string",
          "description": "Threat weight score for FortiSandbox-detected virus. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "fsaHighRisk": {
          "type": "string",
          "description": "Threat weight score for FortiSandbox high risk malware detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "fsaMalicious": {
          "type": "string",
          "description": "Threat weight score for FortiSandbox malicious malware detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "fsaMediumRisk": {
          "type": "string",
          "description": "Threat weight score for FortiSandbox medium risk malware detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "inlineBlock": {
          "type": "string",
          "description": "Threat weight score for malware detected by inline block. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "malwareList": {
          "type": "string",
          "description": "Threat weight score for virus (malware list) detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "mimefragmented": {
          "type": "string",
          "description": "Threat weight score for mimefragmented detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "oversized": {
          "type": "string",
          "description": "Threat weight score for oversized file detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "switchProto": {
          "type": "string",
          "description": "Threat weight score for switch proto detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "virusFileTypeExecutable": {
          "type": "string",
          "description": "Threat weight score for virus (filetype executable) detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "virusInfected": {
          "type": "string",
          "description": "Threat weight score for virus (infected) detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "virusOutbreakPrevention": {
          "type": "string",
          "description": "Threat weight score for virus (outbreak prevention) event. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        },
        "virusScanError": {
          "type": "string",
          "description": "Threat weight score for virus (scan error) detected. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "botnetConnection",
            "commandBlocked",
            "contentDisarm",
            "emsThreatFeed",
            "fileBlocked",
            "fortiai",
            "fortindr",
            "fortisandbox",
            "fsaHighRisk",
            "fsaMalicious",
            "fsaMediumRisk",
            "inlineBlock",
            "malwareList",
            "mimefragmented",
            "oversized",
            "switchProto",
            "virusFileTypeExecutable",
            "virusInfected",
            "virusOutbreakPrevention",
            "virusScanError"
          ]
        }
      }
    },
    "fortios:log/ThreatweightWeb:ThreatweightWeb": {
      "properties": {
        "category": {
          "type": "integer",
          "description": "Threat weight score for web category filtering matches.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "level": {
          "type": "string",
          "description": "Threat weight score for web category filtering matches. Valid values: `disable`, `low`, `medium`, `high`, `critical`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "id",
            "level"
          ]
        }
      }
    },
    "fortios:log/disk/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/OverridefilterFreeStyle:OverridefilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/OverridesettingSerial:OverridesettingSerial": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Serial Number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/SettingSerial:SettingSerial": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Serial Number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/cloud/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/cloud/OverridefilterFreeStyle:OverridefilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/cloud/SettingSerial:SettingSerial": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Serial Number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/v2/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/v2/OverridefilterFreeStyle:OverridefilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/v2/OverridesettingSerial:OverridesettingSerial": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Serial Number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/v2/SettingSerial:SettingSerial": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Serial Number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/v3/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/v3/OverridefilterFreeStyle:OverridefilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/v3/OverridesettingSerial:OverridesettingSerial": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Serial Number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:log/fortianalyzer/v3/SettingSerial:SettingSerial": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Serial Number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:log/fortiguard/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/fortiguard/OverridefilterFreeStyle:OverridefilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/memory/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/nulldevice/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/syslogd/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/syslogd/OverridefilterFreeStyle:OverridefilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/syslogd/OverridesettingCustomFieldName:OverridesettingCustomFieldName": {
      "properties": {
        "custom": {
          "type": "string",
          "description": "Field custom name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Field name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "custom",
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:log/syslogd/SettingCustomFieldName:SettingCustomFieldName": {
      "properties": {
        "custom": {
          "type": "string",
          "description": "Field custom name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Field name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "custom",
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:log/syslogd/v2/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/syslogd/v2/OverridefilterFreeStyle:OverridefilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/syslogd/v2/OverridesettingCustomFieldName:OverridesettingCustomFieldName": {
      "properties": {
        "custom": {
          "type": "string",
          "description": "Field custom name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Field name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "custom",
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:log/syslogd/v2/SettingCustomFieldName:SettingCustomFieldName": {
      "properties": {
        "custom": {
          "type": "string",
          "description": "Field custom name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Field name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "custom",
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:log/syslogd/v3/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/syslogd/v3/OverridefilterFreeStyle:OverridefilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/syslogd/v3/OverridesettingCustomFieldName:OverridesettingCustomFieldName": {
      "properties": {
        "custom": {
          "type": "string",
          "description": "Field custom name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Field name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "custom",
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:log/syslogd/v3/SettingCustomFieldName:SettingCustomFieldName": {
      "properties": {
        "custom": {
          "type": "string",
          "description": "Field custom name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Field name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "custom",
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:log/syslogd/v4/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/syslogd/v4/OverridefilterFreeStyle:OverridefilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:log/syslogd/v4/OverridesettingCustomFieldName:OverridesettingCustomFieldName": {
      "properties": {
        "custom": {
          "type": "string",
          "description": "Field custom name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Field name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "custom",
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:log/syslogd/v4/SettingCustomFieldName:SettingCustomFieldName": {
      "properties": {
        "custom": {
          "type": "string",
          "description": "Field custom name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Field name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "custom",
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:log/webtrends/FilterFreeStyle:FilterFreeStyle": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Log category.\n"
        },
        "filter": {
          "type": "string",
          "description": "Free style filter string.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "filter",
            "filterType",
            "id"
          ]
        }
      }
    },
    "fortios:nsxt/ServicechainServiceIndex:ServicechainServiceIndex": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Service index.\n"
        },
        "name": {
          "type": "string",
          "description": "Index name.\n"
        },
        "reverseIndex": {
          "type": "integer",
          "description": "Reverse service index.\n"
        },
        "vd": {
          "type": "string",
          "description": "VDOM name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "reverseIndex",
            "vd"
          ]
        }
      }
    },
    "fortios:report/ChartCategorySeries:ChartCategorySeries": {
      "properties": {
        "databind": {
          "type": "string",
          "description": "Category series value expression.\n"
        },
        "fontSize": {
          "type": "integer",
          "description": "Font size of category-series title.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "databind",
            "fontSize"
          ]
        }
      }
    },
    "fortios:report/ChartColumn:ChartColumn": {
      "properties": {
        "detailUnit": {
          "type": "string",
          "description": "Detail unit of column.\n"
        },
        "detailValue": {
          "type": "string",
          "description": "Detail value of column.\n"
        },
        "footerUnit": {
          "type": "string",
          "description": "Footer unit of column.\n"
        },
        "footerValue": {
          "type": "string",
          "description": "Footer value of column.\n"
        },
        "headerValue": {
          "type": "string",
          "description": "Display name of table header.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "mappings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FChartColumnMapping:ChartColumnMapping"
          },
          "description": "Show detail in certain display value for certain condition. The structure of `mapping` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "detailUnit",
            "detailValue",
            "footerUnit",
            "footerValue",
            "headerValue",
            "id"
          ]
        }
      }
    },
    "fortios:report/ChartColumnMapping:ChartColumnMapping": {
      "properties": {
        "displayname": {
          "type": "string",
          "description": "Display name.\n"
        },
        "id": {
          "type": "integer",
          "description": "id\n"
        },
        "op": {
          "type": "string",
          "description": "Comparision operater. Valid values: `none`, `greater`, `greater-equal`, `less`, `less-equal`, `equal`, `between`.\n"
        },
        "value1": {
          "type": "string",
          "description": "Value 1.\n"
        },
        "value2": {
          "type": "string",
          "description": "Value 2.\n"
        },
        "valueType": {
          "type": "string",
          "description": "Value type. Valid values: `integer`, `string`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "displayname",
            "id",
            "op",
            "value1",
            "value2",
            "valueType"
          ]
        }
      }
    },
    "fortios:report/ChartDrillDownChart:ChartDrillDownChart": {
      "properties": {
        "chartName": {
          "type": "string",
          "description": "Drill down chart name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Drill down chart ID.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this drill down chart. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chartName",
            "id",
            "status"
          ]
        }
      }
    },
    "fortios:report/ChartValueSeries:ChartValueSeries": {
      "properties": {
        "databind": {
          "type": "string",
          "description": "Value series value expression.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "databind"
          ]
        }
      }
    },
    "fortios:report/ChartXSeries:ChartXSeries": {
      "properties": {
        "caption": {
          "type": "string",
          "description": "X-series caption.\n"
        },
        "captionFontSize": {
          "type": "integer",
          "description": "X-series caption font size.\n"
        },
        "databind": {
          "type": "string",
          "description": "X-series value expression.\n"
        },
        "fontSize": {
          "type": "integer",
          "description": "X-series label font size.\n"
        },
        "isCategory": {
          "type": "string",
          "description": "X-series represent category or not. Valid values: `yes`, `no`.\n"
        },
        "labelAngle": {
          "type": "string",
          "description": "X-series label angle. Valid values: `45-degree`, `vertical`, `horizontal`.\n"
        },
        "scaleDirection": {
          "type": "string",
          "description": "Scale increase or decrease. Valid values: `decrease`, `increase`.\n"
        },
        "scaleFormat": {
          "type": "string",
          "description": "Date/time format. Valid values: `YYYY-MM-DD-HH-MM`, `YYYY-MM-DD HH`, `YYYY-MM-DD`, `YYYY-MM`, `YYYY`, `HH-MM`, `MM-DD`.\n"
        },
        "scaleStep": {
          "type": "integer",
          "description": "Scale step.\n"
        },
        "scaleUnit": {
          "type": "string",
          "description": "Scale unit. Valid values: `minute`, `hour`, `day`, `month`, `year`.\n"
        },
        "unit": {
          "type": "string",
          "description": "X-series unit.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "caption",
            "captionFontSize",
            "databind",
            "fontSize",
            "isCategory",
            "labelAngle",
            "scaleDirection",
            "scaleFormat",
            "scaleStep",
            "scaleUnit",
            "unit"
          ]
        }
      }
    },
    "fortios:report/ChartYSeries:ChartYSeries": {
      "properties": {
        "caption": {
          "type": "string",
          "description": "Y-series caption.\n"
        },
        "captionFontSize": {
          "type": "integer",
          "description": "Y-series caption font size.\n"
        },
        "databind": {
          "type": "string",
          "description": "Y-series value expression.\n"
        },
        "extraDatabind": {
          "type": "string",
          "description": "Extra Y-series value.\n"
        },
        "extraY": {
          "type": "string",
          "description": "Allow another Y-series value Valid values: `enable`, `disable`.\n"
        },
        "extraYLegend": {
          "type": "string",
          "description": "Extra Y-series legend type/name.\n"
        },
        "fontSize": {
          "type": "integer",
          "description": "Y-series label font size.\n"
        },
        "group": {
          "type": "string",
          "description": "Y-series group option.\n"
        },
        "labelAngle": {
          "type": "string",
          "description": "Y-series label angle. Valid values: `45-degree`, `vertical`, `horizontal`.\n"
        },
        "unit": {
          "type": "string",
          "description": "Y-series unit.\n"
        },
        "yLegend": {
          "type": "string",
          "description": "First Y-series legend type/name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "caption",
            "captionFontSize",
            "databind",
            "extraDatabind",
            "extraY",
            "extraYLegend",
            "fontSize",
            "group",
            "labelAngle",
            "unit",
            "yLegend"
          ]
        }
      }
    },
    "fortios:report/DatasetField:DatasetField": {
      "properties": {
        "displayname": {
          "type": "string",
          "description": "Display name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Field ID (1 to number of columns in SQL result).\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "type": {
          "type": "string",
          "description": "Field type. Valid values: `text`, `integer`, `double`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "displayname",
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "fortios:report/DatasetParameter:DatasetParameter": {
      "properties": {
        "dataType": {
          "type": "string",
          "description": "Data type. Valid values: `text`, `integer`, `double`, `long-integer`, `date-time`.\n"
        },
        "displayName": {
          "type": "string",
          "description": "Display name.\n"
        },
        "field": {
          "type": "string",
          "description": "SQL field name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Parameter ID (1 to number of columns in SQL result).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dataType",
            "displayName",
            "field",
            "id"
          ]
        }
      }
    },
    "fortios:report/LayoutBodyItem:LayoutBodyItem": {
      "properties": {
        "chart": {
          "type": "string",
          "description": "Report item chart name.\n"
        },
        "chartOptions": {
          "type": "string",
          "description": "Report chart options. Valid values: `include-no-data`, `hide-title`, `show-caption`.\n"
        },
        "column": {
          "type": "integer",
          "description": "Report section column number.\n"
        },
        "content": {
          "type": "string",
          "description": "Report item text content.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "drillDownItems": {
          "type": "string",
          "description": "Control how drill down charts are shown.\n"
        },
        "drillDownTypes": {
          "type": "string",
          "description": "Control whether keys from the parent being combined or not.\n"
        },
        "hide": {
          "type": "string",
          "description": "Enable/disable hide item in report. Valid values: `enable`, `disable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Report item ID.\n"
        },
        "imgSrc": {
          "type": "string",
          "description": "Report item image file name.\n"
        },
        "listComponent": {
          "type": "string",
          "description": "Report item list component. Valid values: `bullet`, `numbered`.\n"
        },
        "lists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FLayoutBodyItemList:LayoutBodyItemList"
          },
          "description": "Configure report list item. The structure of `list` block is documented below.\n"
        },
        "miscComponent": {
          "type": "string",
          "description": "Report item miscellaneous component. Valid values: `hline`, `page-break`, `column-break`, `section-start`.\n"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FLayoutBodyItemParameter:LayoutBodyItemParameter"
          },
          "description": "Parameters. The structure of `parameters` block is documented below.\n"
        },
        "style": {
          "type": "string",
          "description": "Report item style.\n"
        },
        "tableCaptionStyle": {
          "type": "string",
          "description": "Table chart caption style.\n"
        },
        "tableColumnWidths": {
          "type": "string",
          "description": "Report item table column widths.\n"
        },
        "tableEvenRowStyle": {
          "type": "string",
          "description": "Table chart even row style.\n"
        },
        "tableHeadStyle": {
          "type": "string",
          "description": "Table chart head style.\n"
        },
        "tableOddRowStyle": {
          "type": "string",
          "description": "Table chart odd row style.\n"
        },
        "textComponent": {
          "type": "string",
          "description": "Report item text component. Valid values: `text`, `heading1`, `heading2`, `heading3`.\n"
        },
        "title": {
          "type": "string",
          "description": "Report section title.\n"
        },
        "topN": {
          "type": "integer",
          "description": "Value of top.\n"
        },
        "type": {
          "type": "string",
          "description": "Report item type. Valid values: `text`, `image`, `chart`, `misc`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chart",
            "chartOptions",
            "column",
            "content",
            "description",
            "drillDownItems",
            "drillDownTypes",
            "hide",
            "id",
            "imgSrc",
            "listComponent",
            "miscComponent",
            "style",
            "tableCaptionStyle",
            "tableColumnWidths",
            "tableEvenRowStyle",
            "tableHeadStyle",
            "tableOddRowStyle",
            "textComponent",
            "title",
            "topN",
            "type"
          ]
        }
      }
    },
    "fortios:report/LayoutBodyItemList:LayoutBodyItemList": {
      "properties": {
        "content": {
          "type": "string",
          "description": "List entry content.\n"
        },
        "id": {
          "type": "integer",
          "description": "List entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "content",
            "id"
          ]
        }
      }
    },
    "fortios:report/LayoutBodyItemParameter:LayoutBodyItemParameter": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Field name that match field of parameters defined in dataset.\n"
        },
        "value": {
          "type": "string",
          "description": "Value to replace corresponding field of parameters defined in dataset.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "value"
          ]
        }
      }
    },
    "fortios:report/LayoutPage:LayoutPage": {
      "properties": {
        "columnBreakBefore": {
          "type": "string",
          "description": "Report page auto column break before heading. Valid values: `heading1`, `heading2`, `heading3`.\n"
        },
        "footer": {
          "$ref": "#/types/fortios:report%2FLayoutPageFooter:LayoutPageFooter",
          "description": "Configure report page footer. The structure of `footer` block is documented below.\n"
        },
        "header": {
          "$ref": "#/types/fortios:report%2FLayoutPageHeader:LayoutPageHeader",
          "description": "Configure report page header. The structure of `header` block is documented below.\n"
        },
        "options": {
          "type": "string",
          "description": "Report page options. Valid values: `header-on-first-page`, `footer-on-first-page`.\n"
        },
        "pageBreakBefore": {
          "type": "string",
          "description": "Report page auto page break before heading. Valid values: `heading1`, `heading2`, `heading3`.\n"
        },
        "paper": {
          "type": "string",
          "description": "Report page paper. Valid values: `a4`, `letter`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "columnBreakBefore",
            "footer",
            "header",
            "options",
            "pageBreakBefore",
            "paper"
          ]
        }
      }
    },
    "fortios:report/LayoutPageFooter:LayoutPageFooter": {
      "properties": {
        "footerItems": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FLayoutPageFooterFooterItem:LayoutPageFooterFooterItem"
          },
          "description": "Configure report footer item. The structure of `footer_item` block is documented below.\n"
        },
        "style": {
          "type": "string",
          "description": "Report footer style.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "style"
          ]
        }
      }
    },
    "fortios:report/LayoutPageFooterFooterItem:LayoutPageFooterFooterItem": {
      "properties": {
        "content": {
          "type": "string",
          "description": "Report item text content.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "id": {
          "type": "integer",
          "description": "Report item ID.\n"
        },
        "imgSrc": {
          "type": "string",
          "description": "Report item image file name.\n"
        },
        "style": {
          "type": "string",
          "description": "Report item style.\n"
        },
        "type": {
          "type": "string",
          "description": "Report item type. Valid values: `text`, `image`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "content",
            "description",
            "id",
            "imgSrc",
            "style",
            "type"
          ]
        }
      }
    },
    "fortios:report/LayoutPageHeader:LayoutPageHeader": {
      "properties": {
        "headerItems": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:report%2FLayoutPageHeaderHeaderItem:LayoutPageHeaderHeaderItem"
          },
          "description": "Configure report header item. The structure of `header_item` block is documented below.\n"
        },
        "style": {
          "type": "string",
          "description": "Report header style.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "style"
          ]
        }
      }
    },
    "fortios:report/LayoutPageHeaderHeaderItem:LayoutPageHeaderHeaderItem": {
      "properties": {
        "content": {
          "type": "string",
          "description": "Report item text content.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "id": {
          "type": "integer",
          "description": "Report item ID.\n"
        },
        "imgSrc": {
          "type": "string",
          "description": "Report item image file name.\n"
        },
        "style": {
          "type": "string",
          "description": "Report item style.\n"
        },
        "type": {
          "type": "string",
          "description": "Report item type. Valid values: `text`, `image`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "content",
            "description",
            "id",
            "imgSrc",
            "style",
            "type"
          ]
        }
      }
    },
    "fortios:router/Accesslist6Rule:Accesslist6Rule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny this IP address and netmask prefix. Valid values: `permit`, `deny`.\n"
        },
        "exactMatch": {
          "type": "string",
          "description": "Enable/disable exact prefix match. Valid values: `enable`, `disable`.\n"
        },
        "flags": {
          "type": "integer",
          "description": "Flags.\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "IPv6 prefix to define regular filter criteria, such as \"any\" or subnets.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "exactMatch",
            "flags",
            "id",
            "prefix6"
          ]
        }
      }
    },
    "fortios:router/AccesslistRule:AccesslistRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny this IP address and netmask prefix.\n"
        },
        "exactMatch": {
          "type": "string",
          "description": "Enable/disable exact match.\n"
        },
        "flags": {
          "type": "integer",
          "description": "Flags.\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "IPv4 prefix to define regular filter criteria, such as \"any\" or subnets.\n"
        },
        "wildcard": {
          "type": "string",
          "description": "Wildcard to define Cisco-style wildcard filter criteria.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "exactMatch",
            "flags",
            "id",
            "prefix",
            "wildcard"
          ]
        }
      }
    },
    "fortios:router/AspathlistRule:AspathlistRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny route-based operations, based on the route's AS_PATH attribute. Valid values: `deny`, `permit`.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "regexp": {
          "type": "string",
          "description": "Regular-expression to match the Border Gateway Protocol (BGP) AS paths.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "regexp"
          ]
        }
      }
    },
    "fortios:router/Bfd6MultihopTemplate:Bfd6MultihopTemplate": {
      "properties": {
        "authMode": {
          "type": "string",
          "description": "Authentication mode. Valid values: `none`, `md5`.\n"
        },
        "bfdDesiredMinTx": {
          "type": "integer",
          "description": "BFD desired minimal transmit interval (milliseconds).\n"
        },
        "bfdDetectMult": {
          "type": "integer",
          "description": "BFD detection multiplier.\n"
        },
        "bfdRequiredMinRx": {
          "type": "integer",
          "description": "BFD required minimal receive interval (milliseconds).\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination prefix.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "md5Key": {
          "type": "string",
          "description": "MD5 key of key ID 1.\n",
          "secret": true
        },
        "src": {
          "type": "string",
          "description": "Source prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authMode",
            "bfdDesiredMinTx",
            "bfdDetectMult",
            "bfdRequiredMinRx",
            "dst",
            "id",
            "src"
          ]
        }
      }
    },
    "fortios:router/Bfd6Neighbor:Bfd6Neighbor": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface to the BFD neighbor.\n"
        },
        "ip6Address": {
          "type": "string",
          "description": "IPv6 address of the BFD neighbor.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interface",
            "ip6Address"
          ]
        }
      }
    },
    "fortios:router/BfdMultihopTemplate:BfdMultihopTemplate": {
      "properties": {
        "authMode": {
          "type": "string",
          "description": "Authentication mode. Valid values: `none`, `md5`.\n"
        },
        "bfdDesiredMinTx": {
          "type": "integer",
          "description": "BFD desired minimal transmit interval (milliseconds).\n"
        },
        "bfdDetectMult": {
          "type": "integer",
          "description": "BFD detection multiplier.\n"
        },
        "bfdRequiredMinRx": {
          "type": "integer",
          "description": "BFD required minimal receive interval (milliseconds).\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination prefix.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "md5Key": {
          "type": "string",
          "description": "MD5 key of key ID 1.\n",
          "secret": true
        },
        "src": {
          "type": "string",
          "description": "Source prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authMode",
            "bfdDesiredMinTx",
            "bfdDetectMult",
            "bfdRequiredMinRx",
            "dst",
            "id",
            "src"
          ]
        }
      }
    },
    "fortios:router/BfdNeighbor:BfdNeighbor": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the BFD neighbor.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interface",
            "ip"
          ]
        }
      }
    },
    "fortios:router/BgpAdminDistance:BgpAdminDistance": {
      "properties": {
        "distance": {
          "type": "integer",
          "description": "Administrative distance to apply (1 - 255).\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "neighbourPrefix": {
          "type": "string",
          "description": "Neighbor address prefix.\n"
        },
        "routeList": {
          "type": "string",
          "description": "Access list of routes to apply new distance to.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "distance",
            "id",
            "neighbourPrefix",
            "routeList"
          ]
        }
      }
    },
    "fortios:router/BgpAggregateAddress6:BgpAggregateAddress6": {
      "properties": {
        "asSet": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource.\n"
        },
        "prefix6": {
          "type": "string"
        },
        "summaryOnly": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "asSet",
            "id",
            "prefix6",
            "summaryOnly"
          ]
        }
      }
    },
    "fortios:router/BgpAggregateAddress:BgpAggregateAddress": {
      "properties": {
        "asSet": {
          "type": "string",
          "description": "Enable/disable generate AS set path information. Valid values: `enable`, `disable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Aggregate prefix.\n"
        },
        "summaryOnly": {
          "type": "string",
          "description": "Enable/disable filter more specific routes from updates. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "asSet",
            "id",
            "prefix",
            "summaryOnly"
          ]
        }
      }
    },
    "fortios:router/BgpConfederationPeer:BgpConfederationPeer": {
      "properties": {
        "peer": {
          "type": "string",
          "description": "Peer ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "peer"
          ]
        }
      }
    },
    "fortios:router/BgpNeighbor:BgpNeighbor": {
      "properties": {
        "activate": {
          "type": "string",
          "description": "Enable/disable address family IPv4 for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "activate6": {
          "type": "string",
          "description": "Enable/disable address family IPv6 for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "activateEvpn": {
          "type": "string",
          "description": "Enable/disable address family L2VPN EVPN for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "activateVpnv4": {
          "type": "string",
          "description": "Enable/disable address family VPNv4 for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "activateVpnv6": {
          "type": "string",
          "description": "Enable/disable address family VPNv6 for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "additionalPath": {
          "type": "string",
          "description": "Enable/disable IPv4 additional-path capability. Valid values: `send`, `receive`, `both`, `disable`.\n"
        },
        "additionalPath6": {
          "type": "string",
          "description": "Enable/disable IPv6 additional-path capability. Valid values: `send`, `receive`, `both`, `disable`.\n"
        },
        "additionalPathVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 additional-path capability. Valid values: `send`, `receive`, `both`, `disable`.\n"
        },
        "additionalPathVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 additional-path capability. Valid values: `send`, `receive`, `both`, `disable`.\n"
        },
        "advAdditionalPath": {
          "type": "integer",
          "description": "Number of IPv4 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPath6": {
          "type": "integer",
          "description": "Number of IPv6 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPathVpnv4": {
          "type": "integer",
          "description": "Number of VPNv4 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPathVpnv6": {
          "type": "integer",
          "description": "Number of VPNv6 additional paths that can be advertised to this neighbor.\n"
        },
        "advertisementInterval": {
          "type": "integer",
          "description": "Minimum interval (sec) between sending updates.\n"
        },
        "allowasIn": {
          "type": "integer",
          "description": "IPv4 The maximum number of occurrence of my AS number allowed.\n"
        },
        "allowasIn6": {
          "type": "integer",
          "description": "IPv6 The maximum number of occurrence of my AS number allowed.\n"
        },
        "allowasInEnable": {
          "type": "string",
          "description": "Enable/disable IPv4 Enable to allow my AS in AS path. Valid values: `enable`, `disable`.\n"
        },
        "allowasInEnable6": {
          "type": "string",
          "description": "Enable/disable IPv6 Enable to allow my AS in AS path. Valid values: `enable`, `disable`.\n"
        },
        "allowasInEnableEvpn": {
          "type": "string",
          "description": "Enable/disable to allow my AS in AS path for L2VPN EVPN route. Valid values: `enable`, `disable`.\n"
        },
        "allowasInEnableVpnv4": {
          "type": "string",
          "description": "Enable/disable to allow my AS in AS path for VPNv4 route. Valid values: `enable`, `disable`.\n"
        },
        "allowasInEnableVpnv6": {
          "type": "string",
          "description": "Enable/disable use of my AS in AS path for VPNv6 route. Valid values: `enable`, `disable`.\n"
        },
        "allowasInEvpn": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for L2VPN EVPN route.\n"
        },
        "allowasInVpnv4": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for VPNv4 route.\n"
        },
        "allowasInVpnv6": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for VPNv6 route.\n"
        },
        "asOverride": {
          "type": "string",
          "description": "Enable/disable replace peer AS with own AS for IPv4. Valid values: `enable`, `disable`.\n"
        },
        "asOverride6": {
          "type": "string",
          "description": "Enable/disable replace peer AS with own AS for IPv6. Valid values: `enable`, `disable`.\n"
        },
        "attributeUnchanged": {
          "type": "string",
          "description": "IPv4 List of attributes that should be unchanged. Valid values: `as-path`, `med`, `next-hop`.\n"
        },
        "attributeUnchanged6": {
          "type": "string",
          "description": "IPv6 List of attributes that should be unchanged. Valid values: `as-path`, `med`, `next-hop`.\n"
        },
        "attributeUnchangedVpnv4": {
          "type": "string",
          "description": "List of attributes that should be unchanged for VPNv4 route. Valid values: `as-path`, `med`, `next-hop`.\n"
        },
        "attributeUnchangedVpnv6": {
          "type": "string",
          "description": "List of attributes that should not be changed for VPNv6 route. Valid values: `as-path`, `med`, `next-hop`.\n"
        },
        "authOptions": {
          "type": "string",
          "description": "Key-chain name for TCP authentication options.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable BFD for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityDefaultOriginate": {
          "type": "string",
          "description": "Enable/disable advertise default IPv4 route to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityDefaultOriginate6": {
          "type": "string",
          "description": "Enable/disable advertise default IPv6 route to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityDynamic": {
          "type": "string",
          "description": "Enable/disable advertise dynamic capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityGracefulRestart": {
          "type": "string",
          "description": "Enable/disable advertise IPv4 graceful restart capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityGracefulRestart6": {
          "type": "string",
          "description": "Enable/disable advertise IPv6 graceful restart capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityGracefulRestartEvpn": {
          "type": "string",
          "description": "Enable/disable advertisement of L2VPN EVPN graceful restart capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityGracefulRestartVpnv4": {
          "type": "string",
          "description": "Enable/disable advertise VPNv4 graceful restart capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityGracefulRestartVpnv6": {
          "type": "string",
          "description": "Enable/disable advertisement of VPNv6 graceful restart capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityOrf": {
          "type": "string",
          "description": "Accept/Send IPv4 ORF lists to/from this neighbor. Valid values: `none`, `receive`, `send`, `both`.\n"
        },
        "capabilityOrf6": {
          "type": "string",
          "description": "Accept/Send IPv6 ORF lists to/from this neighbor. Valid values: `none`, `receive`, `send`, `both`.\n"
        },
        "capabilityRouteRefresh": {
          "type": "string",
          "description": "Enable/disable advertise route refresh capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "conditionalAdvertise6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNeighborConditionalAdvertise6:BgpNeighborConditionalAdvertise6"
          },
          "description": "IPv6 conditional advertisement. The structure of `conditional_advertise6` block is documented below.\n"
        },
        "conditionalAdvertises": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpNeighborConditionalAdvertise:BgpNeighborConditionalAdvertise"
          },
          "description": "Conditional advertisement. The structure of `conditional_advertise` block is documented below.\n"
        },
        "connectTimer": {
          "type": "integer",
          "description": "Interval (sec) for connect timer.\n"
        },
        "defaultOriginateRoutemap": {
          "type": "string",
          "description": "Route map to specify criteria to originate IPv4 default.\n"
        },
        "defaultOriginateRoutemap6": {
          "type": "string",
          "description": "Route map to specify criteria to originate IPv6 default.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "distributeListIn": {
          "type": "string",
          "description": "Filter for IPv4 updates from this neighbor.\n"
        },
        "distributeListIn6": {
          "type": "string",
          "description": "Filter for IPv6 updates from this neighbor.\n"
        },
        "distributeListInVpnv4": {
          "type": "string",
          "description": "Filter for VPNv4 updates from this neighbor.\n"
        },
        "distributeListInVpnv6": {
          "type": "string",
          "description": "Filter for VPNv6 updates from this neighbor.\n"
        },
        "distributeListOut": {
          "type": "string",
          "description": "Filter for IPv4 updates to this neighbor.\n"
        },
        "distributeListOut6": {
          "type": "string",
          "description": "Filter for IPv6 updates to this neighbor.\n"
        },
        "distributeListOutVpnv4": {
          "type": "string",
          "description": "Filter for VPNv4 updates to this neighbor.\n"
        },
        "distributeListOutVpnv6": {
          "type": "string",
          "description": "Filter for VPNv6 updates to this neighbor.\n"
        },
        "dontCapabilityNegotiate": {
          "type": "string",
          "description": "Don't negotiate capabilities with this neighbor Valid values: `enable`, `disable`.\n"
        },
        "ebgpEnforceMultihop": {
          "type": "string",
          "description": "Enable/disable allow multi-hop EBGP neighbors. Valid values: `enable`, `disable`.\n"
        },
        "ebgpMultihopTtl": {
          "type": "integer",
          "description": "EBGP multihop TTL for this peer.\n"
        },
        "filterListIn": {
          "type": "string",
          "description": "BGP filter for IPv4 inbound routes.\n"
        },
        "filterListIn6": {
          "type": "string",
          "description": "BGP filter for IPv6 inbound routes.\n"
        },
        "filterListInVpnv4": {
          "type": "string",
          "description": "BGP filter for VPNv4 inbound routes.\n"
        },
        "filterListInVpnv6": {
          "type": "string",
          "description": "BGP filter for VPNv6 inbound routes.\n"
        },
        "filterListOut": {
          "type": "string",
          "description": "BGP filter for IPv4 outbound routes.\n"
        },
        "filterListOut6": {
          "type": "string",
          "description": "BGP filter for IPv6 outbound routes.\n"
        },
        "filterListOutVpnv4": {
          "type": "string",
          "description": "BGP filter for VPNv4 outbound routes.\n"
        },
        "filterListOutVpnv6": {
          "type": "string",
          "description": "BGP filter for VPNv6 outbound routes.\n"
        },
        "holdtimeTimer": {
          "type": "integer",
          "description": "Interval (sec) before peer considered dead.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface\n"
        },
        "ip": {
          "type": "string",
          "description": "IP/IPv6 address of neighbor.\n"
        },
        "keepAliveTimer": {
          "type": "integer",
          "description": "Keep alive timer interval (sec).\n"
        },
        "linkDownFailover": {
          "type": "string",
          "description": "Enable/disable failover upon link down. Valid values: `enable`, `disable`.\n"
        },
        "localAs": {
          "type": "integer",
          "description": "Local AS number of neighbor.\n"
        },
        "localAsNoPrepend": {
          "type": "string",
          "description": "Do not prepend local-as to incoming updates. Valid values: `enable`, `disable`.\n"
        },
        "localAsReplaceAs": {
          "type": "string",
          "description": "Replace real AS with local-as in outgoing updates. Valid values: `enable`, `disable`.\n"
        },
        "maximumPrefix": {
          "type": "integer",
          "description": "Maximum number of IPv4 prefixes to accept from this peer.\n"
        },
        "maximumPrefix6": {
          "type": "integer",
          "description": "Maximum number of IPv6 prefixes to accept from this peer.\n"
        },
        "maximumPrefixEvpn": {
          "type": "integer",
          "description": "Maximum number of L2VPN EVPN prefixes to accept from this peer.\n"
        },
        "maximumPrefixThreshold": {
          "type": "integer",
          "description": "Maximum IPv4 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThreshold6": {
          "type": "integer",
          "description": "Maximum IPv6 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdEvpn": {
          "type": "integer",
          "description": "Maximum L2VPN EVPN prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdVpnv4": {
          "type": "integer",
          "description": "Maximum VPNv4 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdVpnv6": {
          "type": "integer",
          "description": "Maximum VPNv6 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixVpnv4": {
          "type": "integer",
          "description": "Maximum number of VPNv4 prefixes to accept from this peer.\n"
        },
        "maximumPrefixVpnv6": {
          "type": "integer",
          "description": "Maximum number of VPNv6 prefixes to accept from this peer.\n"
        },
        "maximumPrefixWarningOnly": {
          "type": "string",
          "description": "Enable/disable IPv4 Only give warning message when limit is exceeded. Valid values: `enable`, `disable`.\n"
        },
        "maximumPrefixWarningOnly6": {
          "type": "string",
          "description": "Enable/disable IPv6 Only give warning message when limit is exceeded. Valid values: `enable`, `disable`.\n"
        },
        "maximumPrefixWarningOnlyEvpn": {
          "type": "string",
          "description": "Enable/disable only sending warning message when exceeding limit of L2VPN EVPN routes. Valid values: `enable`, `disable`.\n"
        },
        "maximumPrefixWarningOnlyVpnv4": {
          "type": "string",
          "description": "Enable/disable only giving warning message when limit is exceeded for VPNv4 routes. Valid values: `enable`, `disable`.\n"
        },
        "maximumPrefixWarningOnlyVpnv6": {
          "type": "string",
          "description": "Enable/disable warning message when limit is exceeded for VPNv6 routes. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelf": {
          "type": "string",
          "description": "Enable/disable IPv4 next-hop calculation for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelf6": {
          "type": "string",
          "description": "Enable/disable IPv6 next-hop calculation for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelfRr": {
          "type": "string",
          "description": "Enable/disable setting nexthop's address to interface's IPv4 address for route-reflector routes. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelfRr6": {
          "type": "string",
          "description": "Enable/disable setting nexthop's address to interface's IPv6 address for route-reflector routes. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelfVpnv4": {
          "type": "string",
          "description": "Enable/disable setting VPNv4 next-hop to interface's IP address for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelfVpnv6": {
          "type": "string",
          "description": "Enable/disable use of outgoing interface's IP address as VPNv6 next-hop for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "overrideCapability": {
          "type": "string",
          "description": "Enable/disable override result of capability negotiation. Valid values: `enable`, `disable`.\n"
        },
        "passive": {
          "type": "string",
          "description": "Enable/disable sending of open messages to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password used in MD5 authentication.\n",
          "secret": true
        },
        "prefixListIn": {
          "type": "string",
          "description": "IPv4 Inbound filter for updates from this neighbor.\n"
        },
        "prefixListIn6": {
          "type": "string",
          "description": "IPv6 Inbound filter for updates from this neighbor.\n"
        },
        "prefixListInVpnv4": {
          "type": "string",
          "description": "Inbound filter for VPNv4 updates from this neighbor.\n"
        },
        "prefixListInVpnv6": {
          "type": "string",
          "description": "Inbound filter for VPNv6 updates from this neighbor.\n"
        },
        "prefixListOut": {
          "type": "string",
          "description": "IPv4 Outbound filter for updates to this neighbor.\n"
        },
        "prefixListOut6": {
          "type": "string",
          "description": "IPv6 Outbound filter for updates to this neighbor.\n"
        },
        "prefixListOutVpnv4": {
          "type": "string",
          "description": "Outbound filter for VPNv4 updates to this neighbor.\n"
        },
        "prefixListOutVpnv6": {
          "type": "string",
          "description": "Outbound filter for VPNv6 updates to this neighbor.\n"
        },
        "remoteAs": {
          "type": "integer",
          "description": "AS number of neighbor.\n"
        },
        "removePrivateAs": {
          "type": "string",
          "description": "Enable/disable remove private AS number from IPv4 outbound updates. Valid values: `enable`, `disable`.\n"
        },
        "removePrivateAs6": {
          "type": "string",
          "description": "Enable/disable remove private AS number from IPv6 outbound updates. Valid values: `enable`, `disable`.\n"
        },
        "removePrivateAsEvpn": {
          "type": "string",
          "description": "Enable/disable removing private AS number from L2VPN EVPN outbound updates. Valid values: `enable`, `disable`.\n"
        },
        "removePrivateAsVpnv4": {
          "type": "string",
          "description": "Enable/disable remove private AS number from VPNv4 outbound updates. Valid values: `enable`, `disable`.\n"
        },
        "removePrivateAsVpnv6": {
          "type": "string",
          "description": "Enable/disable to remove private AS number from VPNv6 outbound updates. Valid values: `enable`, `disable`.\n"
        },
        "restartTime": {
          "type": "integer",
          "description": "Graceful restart delay time (sec, 0 = global default).\n"
        },
        "retainStaleTime": {
          "type": "integer",
          "description": "Time to retain stale routes.\n"
        },
        "routeMapIn": {
          "type": "string",
          "description": "IPv4 Inbound route map filter.\n"
        },
        "routeMapIn6": {
          "type": "string",
          "description": "IPv6 Inbound route map filter.\n"
        },
        "routeMapInEvpn": {
          "type": "string",
          "description": "L2VPN EVPN inbound route map filter.\n"
        },
        "routeMapInVpnv4": {
          "type": "string",
          "description": "VPNv4 inbound route map filter.\n"
        },
        "routeMapInVpnv6": {
          "type": "string",
          "description": "VPNv6 inbound route map filter.\n"
        },
        "routeMapOut": {
          "type": "string",
          "description": "IPv4 Outbound route map filter.\n"
        },
        "routeMapOut6": {
          "type": "string",
          "description": "IPv6 Outbound route map filter.\n"
        },
        "routeMapOut6Preferable": {
          "type": "string",
          "description": "IPv6 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutEvpn": {
          "type": "string",
          "description": "L2VPN EVPN outbound route map filter.\n"
        },
        "routeMapOutPreferable": {
          "type": "string",
          "description": "IPv4 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutVpnv4": {
          "type": "string",
          "description": "VPNv4 outbound route map filter.\n"
        },
        "routeMapOutVpnv4Preferable": {
          "type": "string",
          "description": "VPNv4 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutVpnv6": {
          "type": "string",
          "description": "VPNv6 outbound route map filter.\n"
        },
        "routeMapOutVpnv6Preferable": {
          "type": "string",
          "description": "VPNv6 outbound route map filter if this neighbor is preferred.\n"
        },
        "routeReflectorClient": {
          "type": "string",
          "description": "Enable/disable IPv4 AS route reflector client. Valid values: `enable`, `disable`.\n"
        },
        "routeReflectorClient6": {
          "type": "string",
          "description": "Enable/disable IPv6 AS route reflector client. Valid values: `enable`, `disable`.\n"
        },
        "routeReflectorClientEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN AS route reflector client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "routeReflectorClientVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 AS route reflector client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "routeReflectorClientVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 AS route reflector client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "routeServerClient": {
          "type": "string",
          "description": "Enable/disable IPv4 AS route server client. Valid values: `enable`, `disable`.\n"
        },
        "routeServerClient6": {
          "type": "string",
          "description": "Enable/disable IPv6 AS route server client. Valid values: `enable`, `disable`.\n"
        },
        "routeServerClientEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN AS route server client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "routeServerClientVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 AS route server client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "routeServerClientVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 AS route server client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "sendCommunity": {
          "type": "string",
          "description": "IPv4 Send community attribute to neighbor. Valid values: `standard`, `extended`, `both`, `disable`.\n"
        },
        "sendCommunity6": {
          "type": "string",
          "description": "IPv6 Send community attribute to neighbor. Valid values: `standard`, `extended`, `both`, `disable`.\n"
        },
        "sendCommunityEvpn": {
          "type": "string",
          "description": "Enable/disable sending community attribute to neighbor for L2VPN EVPN address family. Valid values: `standard`, `extended`, `both`, `disable`.\n"
        },
        "sendCommunityVpnv4": {
          "type": "string",
          "description": "Send community attribute to neighbor for VPNv4 address family. Valid values: `standard`, `extended`, `both`, `disable`.\n"
        },
        "sendCommunityVpnv6": {
          "type": "string",
          "description": "Enable/disable sending community attribute to this neighbor for VPNv6 address family. Valid values: `standard`, `extended`, `both`, `disable`.\n"
        },
        "shutdown": {
          "type": "string",
          "description": "Enable/disable shutdown this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "softReconfiguration": {
          "type": "string",
          "description": "Enable/disable allow IPv4 inbound soft reconfiguration. Valid values: `enable`, `disable`.\n"
        },
        "softReconfiguration6": {
          "type": "string",
          "description": "Enable/disable allow IPv6 inbound soft reconfiguration. Valid values: `enable`, `disable`.\n"
        },
        "softReconfigurationEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN inbound soft reconfiguration. Valid values: `enable`, `disable`.\n"
        },
        "softReconfigurationVpnv4": {
          "type": "string",
          "description": "Enable/disable allow VPNv4 inbound soft reconfiguration. Valid values: `enable`, `disable`.\n"
        },
        "softReconfigurationVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 inbound soft reconfiguration. Valid values: `enable`, `disable`.\n"
        },
        "staleRoute": {
          "type": "string",
          "description": "Enable/disable stale route after neighbor down. Valid values: `enable`, `disable`.\n"
        },
        "strictCapabilityMatch": {
          "type": "string",
          "description": "Enable/disable strict capability matching. Valid values: `enable`, `disable`.\n"
        },
        "unsuppressMap": {
          "type": "string",
          "description": "IPv4 Route map to selectively unsuppress suppressed routes.\n"
        },
        "unsuppressMap6": {
          "type": "string",
          "description": "IPv6 Route map to selectively unsuppress suppressed routes.\n"
        },
        "updateSource": {
          "type": "string",
          "description": "Interface to use as source IP/IPv6 address of TCP connections.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Neighbor weight.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "activate",
            "activate6",
            "activateEvpn",
            "activateVpnv4",
            "activateVpnv6",
            "additionalPath",
            "additionalPath6",
            "additionalPathVpnv4",
            "additionalPathVpnv6",
            "advAdditionalPath",
            "advAdditionalPath6",
            "advAdditionalPathVpnv4",
            "advAdditionalPathVpnv6",
            "advertisementInterval",
            "allowasIn",
            "allowasIn6",
            "allowasInEnable",
            "allowasInEnable6",
            "allowasInEnableEvpn",
            "allowasInEnableVpnv4",
            "allowasInEnableVpnv6",
            "allowasInEvpn",
            "allowasInVpnv4",
            "allowasInVpnv6",
            "asOverride",
            "asOverride6",
            "attributeUnchanged",
            "attributeUnchanged6",
            "attributeUnchangedVpnv4",
            "attributeUnchangedVpnv6",
            "authOptions",
            "bfd",
            "capabilityDefaultOriginate",
            "capabilityDefaultOriginate6",
            "capabilityDynamic",
            "capabilityGracefulRestart",
            "capabilityGracefulRestart6",
            "capabilityGracefulRestartEvpn",
            "capabilityGracefulRestartVpnv4",
            "capabilityGracefulRestartVpnv6",
            "capabilityOrf",
            "capabilityOrf6",
            "capabilityRouteRefresh",
            "connectTimer",
            "defaultOriginateRoutemap",
            "defaultOriginateRoutemap6",
            "description",
            "distributeListIn",
            "distributeListIn6",
            "distributeListInVpnv4",
            "distributeListInVpnv6",
            "distributeListOut",
            "distributeListOut6",
            "distributeListOutVpnv4",
            "distributeListOutVpnv6",
            "dontCapabilityNegotiate",
            "ebgpEnforceMultihop",
            "ebgpMultihopTtl",
            "filterListIn",
            "filterListIn6",
            "filterListInVpnv4",
            "filterListInVpnv6",
            "filterListOut",
            "filterListOut6",
            "filterListOutVpnv4",
            "filterListOutVpnv6",
            "holdtimeTimer",
            "interface",
            "ip",
            "keepAliveTimer",
            "linkDownFailover",
            "localAs",
            "localAsNoPrepend",
            "localAsReplaceAs",
            "maximumPrefix",
            "maximumPrefix6",
            "maximumPrefixEvpn",
            "maximumPrefixThreshold",
            "maximumPrefixThreshold6",
            "maximumPrefixThresholdEvpn",
            "maximumPrefixThresholdVpnv4",
            "maximumPrefixThresholdVpnv6",
            "maximumPrefixVpnv4",
            "maximumPrefixVpnv6",
            "maximumPrefixWarningOnly",
            "maximumPrefixWarningOnly6",
            "maximumPrefixWarningOnlyEvpn",
            "maximumPrefixWarningOnlyVpnv4",
            "maximumPrefixWarningOnlyVpnv6",
            "nextHopSelf",
            "nextHopSelf6",
            "nextHopSelfRr",
            "nextHopSelfRr6",
            "nextHopSelfVpnv4",
            "nextHopSelfVpnv6",
            "overrideCapability",
            "passive",
            "prefixListIn",
            "prefixListIn6",
            "prefixListInVpnv4",
            "prefixListInVpnv6",
            "prefixListOut",
            "prefixListOut6",
            "prefixListOutVpnv4",
            "prefixListOutVpnv6",
            "remoteAs",
            "removePrivateAs",
            "removePrivateAs6",
            "removePrivateAsEvpn",
            "removePrivateAsVpnv4",
            "removePrivateAsVpnv6",
            "restartTime",
            "retainStaleTime",
            "routeMapIn",
            "routeMapIn6",
            "routeMapInEvpn",
            "routeMapInVpnv4",
            "routeMapInVpnv6",
            "routeMapOut",
            "routeMapOut6",
            "routeMapOut6Preferable",
            "routeMapOutEvpn",
            "routeMapOutPreferable",
            "routeMapOutVpnv4",
            "routeMapOutVpnv4Preferable",
            "routeMapOutVpnv6",
            "routeMapOutVpnv6Preferable",
            "routeReflectorClient",
            "routeReflectorClient6",
            "routeReflectorClientEvpn",
            "routeReflectorClientVpnv4",
            "routeReflectorClientVpnv6",
            "routeServerClient",
            "routeServerClient6",
            "routeServerClientEvpn",
            "routeServerClientVpnv4",
            "routeServerClientVpnv6",
            "sendCommunity",
            "sendCommunity6",
            "sendCommunityEvpn",
            "sendCommunityVpnv4",
            "sendCommunityVpnv6",
            "shutdown",
            "softReconfiguration",
            "softReconfiguration6",
            "softReconfigurationEvpn",
            "softReconfigurationVpnv4",
            "softReconfigurationVpnv6",
            "staleRoute",
            "strictCapabilityMatch",
            "unsuppressMap",
            "unsuppressMap6",
            "updateSource",
            "weight"
          ]
        }
      }
    },
    "fortios:router/BgpNeighborConditionalAdvertise6:BgpNeighborConditionalAdvertise6": {
      "properties": {
        "advertiseRoutemap": {
          "type": "string"
        },
        "conditionRoutemap": {
          "type": "string"
        },
        "conditionType": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "advertiseRoutemap",
            "conditionRoutemap",
            "conditionType"
          ]
        }
      }
    },
    "fortios:router/BgpNeighborConditionalAdvertise:BgpNeighborConditionalAdvertise": {
      "properties": {
        "advertiseRoutemap": {
          "type": "string",
          "description": "Name of advertising route map.\n"
        },
        "conditionRoutemap": {
          "type": "string",
          "description": "Name of condition route map.\n"
        },
        "conditionType": {
          "type": "string",
          "description": "Type of condition. Valid values: `exist`, `non-exist`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "advertiseRoutemap",
            "conditionRoutemap",
            "conditionType"
          ]
        }
      }
    },
    "fortios:router/BgpNeighborGroup:BgpNeighborGroup": {
      "properties": {
        "activate": {
          "type": "string",
          "description": "Enable/disable address family IPv4 for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "activate6": {
          "type": "string",
          "description": "Enable/disable address family IPv6 for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "activateEvpn": {
          "type": "string",
          "description": "Enable/disable address family L2VPN EVPN for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "activateVpnv4": {
          "type": "string",
          "description": "Enable/disable address family VPNv4 for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "activateVpnv6": {
          "type": "string",
          "description": "Enable/disable address family VPNv6 for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "additionalPath": {
          "type": "string",
          "description": "Enable/disable IPv4 additional-path capability. Valid values: `send`, `receive`, `both`, `disable`.\n"
        },
        "additionalPath6": {
          "type": "string",
          "description": "Enable/disable IPv6 additional-path capability. Valid values: `send`, `receive`, `both`, `disable`.\n"
        },
        "additionalPathVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 additional-path capability. Valid values: `send`, `receive`, `both`, `disable`.\n"
        },
        "additionalPathVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 additional-path capability. Valid values: `send`, `receive`, `both`, `disable`.\n"
        },
        "advAdditionalPath": {
          "type": "integer",
          "description": "Number of IPv4 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPath6": {
          "type": "integer",
          "description": "Number of IPv6 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPathVpnv4": {
          "type": "integer",
          "description": "Number of VPNv4 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPathVpnv6": {
          "type": "integer",
          "description": "Number of VPNv6 additional paths that can be advertised to this neighbor.\n"
        },
        "advertisementInterval": {
          "type": "integer",
          "description": "Minimum interval (sec) between sending updates.\n"
        },
        "allowasIn": {
          "type": "integer",
          "description": "IPv4 The maximum number of occurrence of my AS number allowed.\n"
        },
        "allowasIn6": {
          "type": "integer",
          "description": "IPv6 The maximum number of occurrence of my AS number allowed.\n"
        },
        "allowasInEnable": {
          "type": "string",
          "description": "Enable/disable IPv4 Enable to allow my AS in AS path. Valid values: `enable`, `disable`.\n"
        },
        "allowasInEnable6": {
          "type": "string",
          "description": "Enable/disable IPv6 Enable to allow my AS in AS path. Valid values: `enable`, `disable`.\n"
        },
        "allowasInEnableEvpn": {
          "type": "string",
          "description": "Enable/disable to allow my AS in AS path for L2VPN EVPN route. Valid values: `enable`, `disable`.\n"
        },
        "allowasInEnableVpnv4": {
          "type": "string",
          "description": "Enable/disable to allow my AS in AS path for VPNv4 route. Valid values: `enable`, `disable`.\n"
        },
        "allowasInEnableVpnv6": {
          "type": "string",
          "description": "Enable/disable use of my AS in AS path for VPNv6 route. Valid values: `enable`, `disable`.\n"
        },
        "allowasInEvpn": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for L2VPN EVPN route.\n"
        },
        "allowasInVpnv4": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for VPNv4 route.\n"
        },
        "allowasInVpnv6": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for VPNv6 route.\n"
        },
        "asOverride": {
          "type": "string",
          "description": "Enable/disable replace peer AS with own AS for IPv4. Valid values: `enable`, `disable`.\n"
        },
        "asOverride6": {
          "type": "string",
          "description": "Enable/disable replace peer AS with own AS for IPv6. Valid values: `enable`, `disable`.\n"
        },
        "attributeUnchanged": {
          "type": "string",
          "description": "IPv4 List of attributes that should be unchanged. Valid values: `as-path`, `med`, `next-hop`.\n"
        },
        "attributeUnchanged6": {
          "type": "string",
          "description": "IPv6 List of attributes that should be unchanged. Valid values: `as-path`, `med`, `next-hop`.\n"
        },
        "attributeUnchangedVpnv4": {
          "type": "string",
          "description": "List of attributes that should be unchanged for VPNv4 route. Valid values: `as-path`, `med`, `next-hop`.\n"
        },
        "attributeUnchangedVpnv6": {
          "type": "string",
          "description": "List of attributes that should not be changed for VPNv6 route. Valid values: `as-path`, `med`, `next-hop`.\n"
        },
        "authOptions": {
          "type": "string",
          "description": "Key-chain name for TCP authentication options.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable BFD for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityDefaultOriginate": {
          "type": "string",
          "description": "Enable/disable advertise default IPv4 route to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityDefaultOriginate6": {
          "type": "string",
          "description": "Enable/disable advertise default IPv6 route to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityDynamic": {
          "type": "string",
          "description": "Enable/disable advertise dynamic capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityGracefulRestart": {
          "type": "string",
          "description": "Enable/disable advertise IPv4 graceful restart capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityGracefulRestart6": {
          "type": "string",
          "description": "Enable/disable advertise IPv6 graceful restart capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityGracefulRestartEvpn": {
          "type": "string",
          "description": "Enable/disable advertisement of L2VPN EVPN graceful restart capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityGracefulRestartVpnv4": {
          "type": "string",
          "description": "Enable/disable advertise VPNv4 graceful restart capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityGracefulRestartVpnv6": {
          "type": "string",
          "description": "Enable/disable advertisement of VPNv6 graceful restart capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "capabilityOrf": {
          "type": "string",
          "description": "Accept/Send IPv4 ORF lists to/from this neighbor. Valid values: `none`, `receive`, `send`, `both`.\n"
        },
        "capabilityOrf6": {
          "type": "string",
          "description": "Accept/Send IPv6 ORF lists to/from this neighbor. Valid values: `none`, `receive`, `send`, `both`.\n"
        },
        "capabilityRouteRefresh": {
          "type": "string",
          "description": "Enable/disable advertise route refresh capability to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "connectTimer": {
          "type": "integer",
          "description": "Interval (sec) for connect timer.\n"
        },
        "defaultOriginateRoutemap": {
          "type": "string",
          "description": "Route map to specify criteria to originate IPv4 default.\n"
        },
        "defaultOriginateRoutemap6": {
          "type": "string",
          "description": "Route map to specify criteria to originate IPv6 default.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "distributeListIn": {
          "type": "string",
          "description": "Filter for IPv4 updates from this neighbor.\n"
        },
        "distributeListIn6": {
          "type": "string",
          "description": "Filter for IPv6 updates from this neighbor.\n"
        },
        "distributeListInVpnv4": {
          "type": "string",
          "description": "Filter for VPNv4 updates from this neighbor.\n"
        },
        "distributeListInVpnv6": {
          "type": "string",
          "description": "Filter for VPNv6 updates from this neighbor.\n"
        },
        "distributeListOut": {
          "type": "string",
          "description": "Filter for IPv4 updates to this neighbor.\n"
        },
        "distributeListOut6": {
          "type": "string",
          "description": "Filter for IPv6 updates to this neighbor.\n"
        },
        "distributeListOutVpnv4": {
          "type": "string",
          "description": "Filter for VPNv4 updates to this neighbor.\n"
        },
        "distributeListOutVpnv6": {
          "type": "string",
          "description": "Filter for VPNv6 updates to this neighbor.\n"
        },
        "dontCapabilityNegotiate": {
          "type": "string",
          "description": "Don't negotiate capabilities with this neighbor Valid values: `enable`, `disable`.\n"
        },
        "ebgpEnforceMultihop": {
          "type": "string",
          "description": "Enable/disable allow multi-hop EBGP neighbors. Valid values: `enable`, `disable`.\n"
        },
        "ebgpMultihopTtl": {
          "type": "integer",
          "description": "EBGP multihop TTL for this peer.\n"
        },
        "filterListIn": {
          "type": "string",
          "description": "BGP filter for IPv4 inbound routes.\n"
        },
        "filterListIn6": {
          "type": "string",
          "description": "BGP filter for IPv6 inbound routes.\n"
        },
        "filterListInVpnv4": {
          "type": "string",
          "description": "BGP filter for VPNv4 inbound routes.\n"
        },
        "filterListInVpnv6": {
          "type": "string",
          "description": "BGP filter for VPNv6 inbound routes.\n"
        },
        "filterListOut": {
          "type": "string",
          "description": "BGP filter for IPv4 outbound routes.\n"
        },
        "filterListOut6": {
          "type": "string",
          "description": "BGP filter for IPv6 outbound routes.\n"
        },
        "filterListOutVpnv4": {
          "type": "string",
          "description": "BGP filter for VPNv4 outbound routes.\n"
        },
        "filterListOutVpnv6": {
          "type": "string",
          "description": "BGP filter for VPNv6 outbound routes.\n"
        },
        "holdtimeTimer": {
          "type": "integer",
          "description": "Interval (sec) before peer considered dead.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface\n"
        },
        "keepAliveTimer": {
          "type": "integer",
          "description": "Keep alive timer interval (sec).\n"
        },
        "linkDownFailover": {
          "type": "string",
          "description": "Enable/disable failover upon link down. Valid values: `enable`, `disable`.\n"
        },
        "localAs": {
          "type": "integer",
          "description": "Local AS number of neighbor.\n"
        },
        "localAsNoPrepend": {
          "type": "string",
          "description": "Do not prepend local-as to incoming updates. Valid values: `enable`, `disable`.\n"
        },
        "localAsReplaceAs": {
          "type": "string",
          "description": "Replace real AS with local-as in outgoing updates. Valid values: `enable`, `disable`.\n"
        },
        "maximumPrefix": {
          "type": "integer",
          "description": "Maximum number of IPv4 prefixes to accept from this peer.\n"
        },
        "maximumPrefix6": {
          "type": "integer",
          "description": "Maximum number of IPv6 prefixes to accept from this peer.\n"
        },
        "maximumPrefixEvpn": {
          "type": "integer",
          "description": "Maximum number of L2VPN EVPN prefixes to accept from this peer.\n"
        },
        "maximumPrefixThreshold": {
          "type": "integer",
          "description": "Maximum IPv4 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThreshold6": {
          "type": "integer",
          "description": "Maximum IPv6 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdEvpn": {
          "type": "integer",
          "description": "Maximum L2VPN EVPN prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdVpnv4": {
          "type": "integer",
          "description": "Maximum VPNv4 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdVpnv6": {
          "type": "integer",
          "description": "Maximum VPNv6 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixVpnv4": {
          "type": "integer",
          "description": "Maximum number of VPNv4 prefixes to accept from this peer.\n"
        },
        "maximumPrefixVpnv6": {
          "type": "integer",
          "description": "Maximum number of VPNv6 prefixes to accept from this peer.\n"
        },
        "maximumPrefixWarningOnly": {
          "type": "string",
          "description": "Enable/disable IPv4 Only give warning message when limit is exceeded. Valid values: `enable`, `disable`.\n"
        },
        "maximumPrefixWarningOnly6": {
          "type": "string",
          "description": "Enable/disable IPv6 Only give warning message when limit is exceeded. Valid values: `enable`, `disable`.\n"
        },
        "maximumPrefixWarningOnlyEvpn": {
          "type": "string",
          "description": "Enable/disable only sending warning message when exceeding limit of L2VPN EVPN routes. Valid values: `enable`, `disable`.\n"
        },
        "maximumPrefixWarningOnlyVpnv4": {
          "type": "string",
          "description": "Enable/disable only giving warning message when limit is exceeded for VPNv4 routes. Valid values: `enable`, `disable`.\n"
        },
        "maximumPrefixWarningOnlyVpnv6": {
          "type": "string",
          "description": "Enable/disable warning message when limit is exceeded for VPNv6 routes. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Neighbor group name.\n"
        },
        "nextHopSelf": {
          "type": "string",
          "description": "Enable/disable IPv4 next-hop calculation for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelf6": {
          "type": "string",
          "description": "Enable/disable IPv6 next-hop calculation for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelfRr": {
          "type": "string",
          "description": "Enable/disable setting nexthop's address to interface's IPv4 address for route-reflector routes. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelfRr6": {
          "type": "string",
          "description": "Enable/disable setting nexthop's address to interface's IPv6 address for route-reflector routes. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelfVpnv4": {
          "type": "string",
          "description": "Enable/disable setting VPNv4 next-hop to interface's IP address for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "nextHopSelfVpnv6": {
          "type": "string",
          "description": "Enable/disable use of outgoing interface's IP address as VPNv6 next-hop for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "overrideCapability": {
          "type": "string",
          "description": "Enable/disable override result of capability negotiation. Valid values: `enable`, `disable`.\n"
        },
        "passive": {
          "type": "string",
          "description": "Enable/disable sending of open messages to this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password used in MD5 authentication.\n",
          "secret": true
        },
        "prefixListIn": {
          "type": "string",
          "description": "IPv4 Inbound filter for updates from this neighbor.\n"
        },
        "prefixListIn6": {
          "type": "string",
          "description": "IPv6 Inbound filter for updates from this neighbor.\n"
        },
        "prefixListInVpnv4": {
          "type": "string",
          "description": "Inbound filter for VPNv4 updates from this neighbor.\n"
        },
        "prefixListInVpnv6": {
          "type": "string",
          "description": "Inbound filter for VPNv6 updates from this neighbor.\n"
        },
        "prefixListOut": {
          "type": "string",
          "description": "IPv4 Outbound filter for updates to this neighbor.\n"
        },
        "prefixListOut6": {
          "type": "string",
          "description": "IPv6 Outbound filter for updates to this neighbor.\n"
        },
        "prefixListOutVpnv4": {
          "type": "string",
          "description": "Outbound filter for VPNv4 updates to this neighbor.\n"
        },
        "prefixListOutVpnv6": {
          "type": "string",
          "description": "Outbound filter for VPNv6 updates to this neighbor.\n"
        },
        "remoteAs": {
          "type": "integer",
          "description": "AS number of neighbor.\n"
        },
        "remoteAsFilter": {
          "type": "string",
          "description": "BGP filter for remote AS.\n"
        },
        "removePrivateAs": {
          "type": "string",
          "description": "Enable/disable remove private AS number from IPv4 outbound updates. Valid values: `enable`, `disable`.\n"
        },
        "removePrivateAs6": {
          "type": "string",
          "description": "Enable/disable remove private AS number from IPv6 outbound updates. Valid values: `enable`, `disable`.\n"
        },
        "removePrivateAsEvpn": {
          "type": "string",
          "description": "Enable/disable removing private AS number from L2VPN EVPN outbound updates. Valid values: `enable`, `disable`.\n"
        },
        "removePrivateAsVpnv4": {
          "type": "string",
          "description": "Enable/disable remove private AS number from VPNv4 outbound updates. Valid values: `enable`, `disable`.\n"
        },
        "removePrivateAsVpnv6": {
          "type": "string",
          "description": "Enable/disable to remove private AS number from VPNv6 outbound updates. Valid values: `enable`, `disable`.\n"
        },
        "restartTime": {
          "type": "integer",
          "description": "Graceful restart delay time (sec, 0 = global default).\n"
        },
        "retainStaleTime": {
          "type": "integer",
          "description": "Time to retain stale routes.\n"
        },
        "routeMapIn": {
          "type": "string",
          "description": "IPv4 Inbound route map filter.\n"
        },
        "routeMapIn6": {
          "type": "string",
          "description": "IPv6 Inbound route map filter.\n"
        },
        "routeMapInEvpn": {
          "type": "string",
          "description": "L2VPN EVPN inbound route map filter.\n"
        },
        "routeMapInVpnv4": {
          "type": "string",
          "description": "VPNv4 inbound route map filter.\n"
        },
        "routeMapInVpnv6": {
          "type": "string",
          "description": "VPNv6 inbound route map filter.\n"
        },
        "routeMapOut": {
          "type": "string",
          "description": "IPv4 Outbound route map filter.\n"
        },
        "routeMapOut6": {
          "type": "string",
          "description": "IPv6 Outbound route map filter.\n"
        },
        "routeMapOut6Preferable": {
          "type": "string",
          "description": "IPv6 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutEvpn": {
          "type": "string",
          "description": "L2VPN EVPN outbound route map filter.\n"
        },
        "routeMapOutPreferable": {
          "type": "string",
          "description": "IPv4 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutVpnv4": {
          "type": "string",
          "description": "VPNv4 outbound route map filter.\n"
        },
        "routeMapOutVpnv4Preferable": {
          "type": "string",
          "description": "VPNv4 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutVpnv6": {
          "type": "string",
          "description": "VPNv6 outbound route map filter.\n"
        },
        "routeMapOutVpnv6Preferable": {
          "type": "string",
          "description": "VPNv6 outbound route map filter if this neighbor is preferred.\n"
        },
        "routeReflectorClient": {
          "type": "string",
          "description": "Enable/disable IPv4 AS route reflector client. Valid values: `enable`, `disable`.\n"
        },
        "routeReflectorClient6": {
          "type": "string",
          "description": "Enable/disable IPv6 AS route reflector client. Valid values: `enable`, `disable`.\n"
        },
        "routeReflectorClientEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN AS route reflector client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "routeReflectorClientVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 AS route reflector client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "routeReflectorClientVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 AS route reflector client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "routeServerClient": {
          "type": "string",
          "description": "Enable/disable IPv4 AS route server client. Valid values: `enable`, `disable`.\n"
        },
        "routeServerClient6": {
          "type": "string",
          "description": "Enable/disable IPv6 AS route server client. Valid values: `enable`, `disable`.\n"
        },
        "routeServerClientEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN AS route server client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "routeServerClientVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 AS route server client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "routeServerClientVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 AS route server client for this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "sendCommunity": {
          "type": "string",
          "description": "IPv4 Send community attribute to neighbor. Valid values: `standard`, `extended`, `both`, `disable`.\n"
        },
        "sendCommunity6": {
          "type": "string",
          "description": "IPv6 Send community attribute to neighbor. Valid values: `standard`, `extended`, `both`, `disable`.\n"
        },
        "sendCommunityEvpn": {
          "type": "string",
          "description": "Enable/disable sending community attribute to neighbor for L2VPN EVPN address family. Valid values: `standard`, `extended`, `both`, `disable`.\n"
        },
        "sendCommunityVpnv4": {
          "type": "string",
          "description": "Send community attribute to neighbor for VPNv4 address family. Valid values: `standard`, `extended`, `both`, `disable`.\n"
        },
        "sendCommunityVpnv6": {
          "type": "string",
          "description": "Enable/disable sending community attribute to this neighbor for VPNv6 address family. Valid values: `standard`, `extended`, `both`, `disable`.\n"
        },
        "shutdown": {
          "type": "string",
          "description": "Enable/disable shutdown this neighbor. Valid values: `enable`, `disable`.\n"
        },
        "softReconfiguration": {
          "type": "string",
          "description": "Enable/disable allow IPv4 inbound soft reconfiguration. Valid values: `enable`, `disable`.\n"
        },
        "softReconfiguration6": {
          "type": "string",
          "description": "Enable/disable allow IPv6 inbound soft reconfiguration. Valid values: `enable`, `disable`.\n"
        },
        "softReconfigurationEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN inbound soft reconfiguration. Valid values: `enable`, `disable`.\n"
        },
        "softReconfigurationVpnv4": {
          "type": "string",
          "description": "Enable/disable allow VPNv4 inbound soft reconfiguration. Valid values: `enable`, `disable`.\n"
        },
        "softReconfigurationVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 inbound soft reconfiguration. Valid values: `enable`, `disable`.\n"
        },
        "staleRoute": {
          "type": "string",
          "description": "Enable/disable stale route after neighbor down. Valid values: `enable`, `disable`.\n"
        },
        "strictCapabilityMatch": {
          "type": "string",
          "description": "Enable/disable strict capability matching. Valid values: `enable`, `disable`.\n"
        },
        "unsuppressMap": {
          "type": "string",
          "description": "IPv4 Route map to selectively unsuppress suppressed routes.\n"
        },
        "unsuppressMap6": {
          "type": "string",
          "description": "IPv6 Route map to selectively unsuppress suppressed routes.\n"
        },
        "updateSource": {
          "type": "string",
          "description": "Interface to use as source IP/IPv6 address of TCP connections.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Neighbor weight.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "activate",
            "activate6",
            "activateEvpn",
            "activateVpnv4",
            "activateVpnv6",
            "additionalPath",
            "additionalPath6",
            "additionalPathVpnv4",
            "additionalPathVpnv6",
            "advAdditionalPath",
            "advAdditionalPath6",
            "advAdditionalPathVpnv4",
            "advAdditionalPathVpnv6",
            "advertisementInterval",
            "allowasIn",
            "allowasIn6",
            "allowasInEnable",
            "allowasInEnable6",
            "allowasInEnableEvpn",
            "allowasInEnableVpnv4",
            "allowasInEnableVpnv6",
            "allowasInEvpn",
            "allowasInVpnv4",
            "allowasInVpnv6",
            "asOverride",
            "asOverride6",
            "attributeUnchanged",
            "attributeUnchanged6",
            "attributeUnchangedVpnv4",
            "attributeUnchangedVpnv6",
            "authOptions",
            "bfd",
            "capabilityDefaultOriginate",
            "capabilityDefaultOriginate6",
            "capabilityDynamic",
            "capabilityGracefulRestart",
            "capabilityGracefulRestart6",
            "capabilityGracefulRestartEvpn",
            "capabilityGracefulRestartVpnv4",
            "capabilityGracefulRestartVpnv6",
            "capabilityOrf",
            "capabilityOrf6",
            "capabilityRouteRefresh",
            "connectTimer",
            "defaultOriginateRoutemap",
            "defaultOriginateRoutemap6",
            "description",
            "distributeListIn",
            "distributeListIn6",
            "distributeListInVpnv4",
            "distributeListInVpnv6",
            "distributeListOut",
            "distributeListOut6",
            "distributeListOutVpnv4",
            "distributeListOutVpnv6",
            "dontCapabilityNegotiate",
            "ebgpEnforceMultihop",
            "ebgpMultihopTtl",
            "filterListIn",
            "filterListIn6",
            "filterListInVpnv4",
            "filterListInVpnv6",
            "filterListOut",
            "filterListOut6",
            "filterListOutVpnv4",
            "filterListOutVpnv6",
            "holdtimeTimer",
            "interface",
            "keepAliveTimer",
            "linkDownFailover",
            "localAs",
            "localAsNoPrepend",
            "localAsReplaceAs",
            "maximumPrefix",
            "maximumPrefix6",
            "maximumPrefixEvpn",
            "maximumPrefixThreshold",
            "maximumPrefixThreshold6",
            "maximumPrefixThresholdEvpn",
            "maximumPrefixThresholdVpnv4",
            "maximumPrefixThresholdVpnv6",
            "maximumPrefixVpnv4",
            "maximumPrefixVpnv6",
            "maximumPrefixWarningOnly",
            "maximumPrefixWarningOnly6",
            "maximumPrefixWarningOnlyEvpn",
            "maximumPrefixWarningOnlyVpnv4",
            "maximumPrefixWarningOnlyVpnv6",
            "name",
            "nextHopSelf",
            "nextHopSelf6",
            "nextHopSelfRr",
            "nextHopSelfRr6",
            "nextHopSelfVpnv4",
            "nextHopSelfVpnv6",
            "overrideCapability",
            "passive",
            "prefixListIn",
            "prefixListIn6",
            "prefixListInVpnv4",
            "prefixListInVpnv6",
            "prefixListOut",
            "prefixListOut6",
            "prefixListOutVpnv4",
            "prefixListOutVpnv6",
            "remoteAs",
            "remoteAsFilter",
            "removePrivateAs",
            "removePrivateAs6",
            "removePrivateAsEvpn",
            "removePrivateAsVpnv4",
            "removePrivateAsVpnv6",
            "restartTime",
            "retainStaleTime",
            "routeMapIn",
            "routeMapIn6",
            "routeMapInEvpn",
            "routeMapInVpnv4",
            "routeMapInVpnv6",
            "routeMapOut",
            "routeMapOut6",
            "routeMapOut6Preferable",
            "routeMapOutEvpn",
            "routeMapOutPreferable",
            "routeMapOutVpnv4",
            "routeMapOutVpnv4Preferable",
            "routeMapOutVpnv6",
            "routeMapOutVpnv6Preferable",
            "routeReflectorClient",
            "routeReflectorClient6",
            "routeReflectorClientEvpn",
            "routeReflectorClientVpnv4",
            "routeReflectorClientVpnv6",
            "routeServerClient",
            "routeServerClient6",
            "routeServerClientEvpn",
            "routeServerClientVpnv4",
            "routeServerClientVpnv6",
            "sendCommunity",
            "sendCommunity6",
            "sendCommunityEvpn",
            "sendCommunityVpnv4",
            "sendCommunityVpnv6",
            "shutdown",
            "softReconfiguration",
            "softReconfiguration6",
            "softReconfigurationEvpn",
            "softReconfigurationVpnv4",
            "softReconfigurationVpnv6",
            "staleRoute",
            "strictCapabilityMatch",
            "unsuppressMap",
            "unsuppressMap6",
            "updateSource",
            "weight"
          ]
        }
      }
    },
    "fortios:router/BgpNeighborRange6:BgpNeighborRange6": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "an identifier for the resource.\n"
        },
        "maxNeighborNum": {
          "type": "integer"
        },
        "neighborGroup": {
          "type": "string",
          "description": "BGP neighbor group table. The structure of `neighbor_group` block is documented below.\n"
        },
        "prefix6": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "maxNeighborNum",
            "neighborGroup",
            "prefix6"
          ]
        }
      }
    },
    "fortios:router/BgpNeighborRange:BgpNeighborRange": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "IPv6 neighbor range ID.\n"
        },
        "maxNeighborNum": {
          "type": "integer",
          "description": "Maximum number of neighbors.\n"
        },
        "neighborGroup": {
          "type": "string",
          "description": "Neighbor group name.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Neighbor range prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "maxNeighborNum",
            "neighborGroup",
            "prefix"
          ]
        }
      }
    },
    "fortios:router/BgpNetwork6:BgpNetwork6": {
      "properties": {
        "backdoor": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource.\n"
        },
        "networkImportCheck": {
          "type": "string",
          "description": "Enable/disable ensure BGP network route exists in IGP. Valid values: `enable`, `disable`.\n"
        },
        "prefix6": {
          "type": "string"
        },
        "routeMap": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "backdoor",
            "id",
            "networkImportCheck",
            "prefix6",
            "routeMap"
          ]
        }
      }
    },
    "fortios:router/BgpNetwork:BgpNetwork": {
      "properties": {
        "backdoor": {
          "type": "string",
          "description": "Enable/disable route as backdoor. Valid values: `enable`, `disable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "networkImportCheck": {
          "type": "string",
          "description": "Configure insurance of BGP network route existence in IGP. Valid values: `global`, `enable`, `disable`.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Network prefix.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map to modify generated route.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "backdoor",
            "id",
            "networkImportCheck",
            "prefix",
            "routeMap"
          ]
        }
      }
    },
    "fortios:router/BgpRedistribute6:BgpRedistribute6": {
      "properties": {
        "name": {
          "type": "string"
        },
        "routeMap": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "status"
          ]
        }
      }
    },
    "fortios:router/BgpRedistribute:BgpRedistribute": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Distribute list entry name.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "Status Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "status"
          ]
        }
      }
    },
    "fortios:router/BgpVrf6:BgpVrf6": {
      "properties": {
        "exportRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrf6ExportRt:BgpVrf6ExportRt"
          }
        },
        "importRouteMap": {
          "type": "string"
        },
        "importRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrf6ImportRt:BgpVrf6ImportRt"
          }
        },
        "leakTargets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrf6LeakTarget:BgpVrf6LeakTarget"
          }
        },
        "rd": {
          "type": "string"
        },
        "role": {
          "type": "string"
        },
        "vrf": {
          "type": "string",
          "description": "BGP VRF leaking table. The structure of `vrf` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "importRouteMap",
            "rd",
            "role",
            "vrf"
          ]
        }
      }
    },
    "fortios:router/BgpVrf6ExportRt:BgpVrf6ExportRt": {
      "properties": {
        "routeTarget": {
          "type": "string",
          "description": "Attribute: AA:NN|A.B.C.D:NN.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "routeTarget"
          ]
        }
      }
    },
    "fortios:router/BgpVrf6ImportRt:BgpVrf6ImportRt": {
      "properties": {
        "routeTarget": {
          "type": "string",
          "description": "Attribute: AA:NN|A.B.C.D:NN\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "routeTarget"
          ]
        }
      }
    },
    "fortios:router/BgpVrf6LeakTarget:BgpVrf6LeakTarget": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface which is used to leak routes to target VRF.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map of VRF leaking.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Target VRF ID. On FortiOS versions 7.2.0-7.2.3: 0 - 63. On FortiOS versions >= 7.2.4: 0 - 251.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interface",
            "routeMap",
            "vrf"
          ]
        }
      }
    },
    "fortios:router/BgpVrf:BgpVrf": {
      "properties": {
        "exportRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrfExportRt:BgpVrfExportRt"
          },
          "description": "List of export route target. The structure of `export_rt` block is documented below.\n"
        },
        "importRouteMap": {
          "type": "string",
          "description": "Import route map.\n"
        },
        "importRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrfImportRt:BgpVrfImportRt"
          },
          "description": "List of import route target. The structure of `import_rt` block is documented below.\n"
        },
        "leakTargets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrfLeakTarget:BgpVrfLeakTarget"
          },
          "description": "Target VRF table. The structure of `leak_target` block is documented below.\n"
        },
        "rd": {
          "type": "string",
          "description": "Route Distinguisher: AA|AA:NN.\n"
        },
        "role": {
          "type": "string",
          "description": "VRF role. Valid values: `standalone`, `ce`, `pe`.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Origin VRF ID. On FortiOS versions 7.2.0-7.2.3: 0 - 63. On FortiOS versions >= 7.2.4: 0 - 251.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "importRouteMap",
            "rd",
            "role",
            "vrf"
          ]
        }
      }
    },
    "fortios:router/BgpVrfExportRt:BgpVrfExportRt": {
      "properties": {
        "routeTarget": {
          "type": "string",
          "description": "Attribute: AA:NN|A.B.C.D:NN.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "routeTarget"
          ]
        }
      }
    },
    "fortios:router/BgpVrfImportRt:BgpVrfImportRt": {
      "properties": {
        "routeTarget": {
          "type": "string",
          "description": "Attribute: AA:NN|A.B.C.D:NN\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "routeTarget"
          ]
        }
      }
    },
    "fortios:router/BgpVrfLeak6:BgpVrfLeak6": {
      "properties": {
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrfLeak6Target:BgpVrfLeak6Target"
          }
        },
        "vrf": {
          "type": "string",
          "description": "BGP VRF leaking table. The structure of `vrf` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vrf"
          ]
        }
      }
    },
    "fortios:router/BgpVrfLeak6Target:BgpVrfLeak6Target": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface which is used to leak routes to target VRF.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map of VRF leaking.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Target VRF ID (0 - 31).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interface",
            "routeMap",
            "vrf"
          ]
        }
      }
    },
    "fortios:router/BgpVrfLeak:BgpVrfLeak": {
      "properties": {
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FBgpVrfLeakTarget:BgpVrfLeakTarget"
          },
          "description": "Target VRF table. The structure of `target` block is documented below.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Origin VRF ID (0 - 31).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vrf"
          ]
        }
      }
    },
    "fortios:router/BgpVrfLeakTarget:BgpVrfLeakTarget": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface which is used to leak routes to target VRF.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map of VRF leaking.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Target VRF ID (0 - 31).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interface",
            "routeMap",
            "vrf"
          ]
        }
      }
    },
    "fortios:router/CommunitylistRule:CommunitylistRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny route-based operations, based on the route's COMMUNITY attribute. Valid values: `deny`, `permit`.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "match": {
          "type": "string",
          "description": "Community specifications for matching a reserved community.\n"
        },
        "regexp": {
          "type": "string",
          "description": "Ordered list of COMMUNITY attributes as a regular expression.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "match",
            "regexp"
          ]
        }
      }
    },
    "fortios:router/ExtcommunitylistRule:ExtcommunitylistRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny route-based operations, based on the route's EXTENDED COMMUNITY attribute. Valid values: `deny`, `permit`.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "match": {
          "type": "string",
          "description": "Extended community specifications for matching a reserved extended community.\n"
        },
        "regexp": {
          "type": "string",
          "description": "Ordered list of EXTENDED COMMUNITY attributes as a regular expression.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of extended community. Valid values: `rt`, `soo`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "match",
            "regexp",
            "type"
          ]
        }
      }
    },
    "fortios:router/IsisIsisInterface:IsisIsisInterface": {
      "properties": {
        "authKeychainL1": {
          "type": "string",
          "description": "Authentication key-chain for level 1 PDUs.\n"
        },
        "authKeychainL2": {
          "type": "string",
          "description": "Authentication key-chain for level 2 PDUs.\n"
        },
        "authModeL1": {
          "type": "string",
          "description": "Level 1 authentication mode. Valid values: `md5`, `password`.\n"
        },
        "authModeL2": {
          "type": "string",
          "description": "Level 2 authentication mode. Valid values: `md5`, `password`.\n"
        },
        "authPasswordL1": {
          "type": "string",
          "description": "Authentication password for level 1 PDUs.\n",
          "secret": true
        },
        "authPasswordL2": {
          "type": "string",
          "description": "Authentication password for level 2 PDUs.\n",
          "secret": true
        },
        "authSendOnlyL1": {
          "type": "string",
          "description": "Enable/disable authentication send-only for level 1 PDUs. Valid values: `enable`, `disable`.\n"
        },
        "authSendOnlyL2": {
          "type": "string",
          "description": "Enable/disable authentication send-only for level 2 PDUs. Valid values: `enable`, `disable`.\n"
        },
        "circuitType": {
          "type": "string",
          "description": "IS-IS interface's circuit type Valid values: `level-1-2`, `level-1`, `level-2`.\n"
        },
        "csnpIntervalL1": {
          "type": "integer",
          "description": "Level 1 CSNP interval.\n"
        },
        "csnpIntervalL2": {
          "type": "integer",
          "description": "Level 2 CSNP interval.\n"
        },
        "helloIntervalL1": {
          "type": "integer",
          "description": "Level 1 hello interval.\n"
        },
        "helloIntervalL2": {
          "type": "integer",
          "description": "Level 2 hello interval.\n"
        },
        "helloMultiplierL1": {
          "type": "integer",
          "description": "Level 1 multiplier for Hello holding time.\n"
        },
        "helloMultiplierL2": {
          "type": "integer",
          "description": "Level 2 multiplier for Hello holding time.\n"
        },
        "helloPadding": {
          "type": "string",
          "description": "Enable/disable padding to IS-IS hello packets. Valid values: `enable`, `disable`.\n"
        },
        "lspInterval": {
          "type": "integer",
          "description": "LSP transmission interval (milliseconds).\n"
        },
        "lspRetransmitInterval": {
          "type": "integer",
          "description": "LSP retransmission interval (sec).\n"
        },
        "meshGroup": {
          "type": "string",
          "description": "Enable/disable IS-IS mesh group. Valid values: `enable`, `disable`.\n"
        },
        "meshGroupId": {
          "type": "integer",
          "description": "Mesh group ID <0-4294967295>, 0: mesh-group blocked.\n"
        },
        "metricL1": {
          "type": "integer",
          "description": "Level 1 metric for interface.\n"
        },
        "metricL2": {
          "type": "integer",
          "description": "Level 2 metric for interface.\n"
        },
        "name": {
          "type": "string",
          "description": "IS-IS interface name.\n"
        },
        "networkType": {
          "type": "string",
          "description": "IS-IS interface's network type Valid values: `broadcast`, `point-to-point`, `loopback`.\n"
        },
        "priorityL1": {
          "type": "integer",
          "description": "Level 1 priority.\n"
        },
        "priorityL2": {
          "type": "integer",
          "description": "Level 2 priority.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable interface for IS-IS. Valid values: `enable`, `disable`.\n"
        },
        "status6": {
          "type": "string",
          "description": "Enable/disable IPv6 interface for IS-IS. Valid values: `enable`, `disable`.\n"
        },
        "wideMetricL1": {
          "type": "integer",
          "description": "Level 1 wide metric for interface.\n"
        },
        "wideMetricL2": {
          "type": "integer",
          "description": "Level 2 wide metric for interface.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authKeychainL1",
            "authKeychainL2",
            "authModeL1",
            "authModeL2",
            "authSendOnlyL1",
            "authSendOnlyL2",
            "circuitType",
            "csnpIntervalL1",
            "csnpIntervalL2",
            "helloIntervalL1",
            "helloIntervalL2",
            "helloMultiplierL1",
            "helloMultiplierL2",
            "helloPadding",
            "lspInterval",
            "lspRetransmitInterval",
            "meshGroup",
            "meshGroupId",
            "metricL1",
            "metricL2",
            "name",
            "networkType",
            "priorityL1",
            "priorityL2",
            "status",
            "status6",
            "wideMetricL1",
            "wideMetricL2"
          ]
        }
      }
    },
    "fortios:router/IsisIsisNet:IsisIsisNet": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "isis-net ID.\n"
        },
        "net": {
          "type": "string",
          "description": "IS-IS networks (format = xx.xxxx.  .xxxx.xx.).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "net"
          ]
        }
      }
    },
    "fortios:router/IsisRedistribute6:IsisRedistribute6": {
      "properties": {
        "level": {
          "type": "string"
        },
        "metric": {
          "type": "integer"
        },
        "metricType": {
          "type": "string"
        },
        "protocol": {
          "type": "string"
        },
        "routemap": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "level",
            "metric",
            "metricType",
            "protocol",
            "routemap",
            "status"
          ]
        }
      }
    },
    "fortios:router/IsisRedistribute:IsisRedistribute": {
      "properties": {
        "level": {
          "type": "string",
          "description": "Level. Valid values: `level-1-2`, `level-1`, `level-2`.\n"
        },
        "metric": {
          "type": "integer",
          "description": "Metric.\n"
        },
        "metricType": {
          "type": "string",
          "description": "Metric type. Valid values: `external`, `internal`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable redistribution. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "level",
            "metric",
            "metricType",
            "protocol",
            "routemap",
            "status"
          ]
        }
      }
    },
    "fortios:router/IsisSummaryAddress6:IsisSummaryAddress6": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "an identifier for the resource.\n"
        },
        "level": {
          "type": "string"
        },
        "prefix6": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "level",
            "prefix6"
          ]
        }
      }
    },
    "fortios:router/IsisSummaryAddress:IsisSummaryAddress": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Prefix entry ID.\n"
        },
        "level": {
          "type": "string",
          "description": "Level. Valid values: `level-1-2`, `level-1`, `level-2`.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "level",
            "prefix"
          ]
        }
      }
    },
    "fortios:router/KeychainKey:KeychainKey": {
      "properties": {
        "acceptLifetime": {
          "type": "string",
          "description": "Lifetime of received authentication key (format: hh:mm:ss day month year).\n"
        },
        "algorithm": {
          "type": "string",
          "description": "Cryptographic algorithm.\n"
        },
        "id": {
          "type": "integer",
          "description": "Key ID (0 - 2147483647).\n"
        },
        "keyString": {
          "type": "string",
          "description": "Password for the key. On FortiOS versions 6.2.0-7.0.0: max. = 35 characters. On FortiOS versions 7.0.1-7.0.3: maximum = 64 characters.\n",
          "secret": true
        },
        "sendLifetime": {
          "type": "string",
          "description": "Lifetime of sent authentication key (format: hh:mm:ss day month year).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "acceptLifetime",
            "algorithm",
            "id",
            "keyString",
            "sendLifetime"
          ]
        }
      }
    },
    "fortios:router/Multicast6Interface:Multicast6Interface": {
      "properties": {
        "helloHoldtime": {
          "type": "integer",
          "description": "Time before old neighbor information expires in seconds (1 - 65535, default = 105).\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Interval between sending PIM hello messages in seconds (1 - 65535, default = 30).\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "helloHoldtime",
            "helloInterval",
            "name"
          ]
        }
      }
    },
    "fortios:router/Multicast6PimSmGlobal:Multicast6PimSmGlobal": {
      "properties": {
        "registerRateLimit": {
          "type": "integer",
          "description": "Limit of packets/sec per source registered through this RP (0 means unlimited).\n"
        },
        "rpAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FMulticast6PimSmGlobalRpAddress:Multicast6PimSmGlobalRpAddress"
          },
          "description": "Statically configured RP addresses. The structure of `rp_address` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "registerRateLimit"
          ]
        }
      }
    },
    "fortios:router/Multicast6PimSmGlobalRpAddress:Multicast6PimSmGlobalRpAddress": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID of the entry.\n"
        },
        "ip6Address": {
          "type": "string",
          "description": "RP router IPv6 address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ip6Address"
          ]
        }
      }
    },
    "fortios:router/MulticastInterface:MulticastInterface": {
      "properties": {
        "bfd": {
          "type": "string",
          "description": "Enable/disable Protocol Independent Multicast (PIM) Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
        },
        "ciscoExcludeGenid": {
          "type": "string",
          "description": "Exclude GenID from hello packets (compatibility with old Cisco IOS). Valid values: `enable`, `disable`.\n"
        },
        "drPriority": {
          "type": "integer",
          "description": "DR election priority.\n"
        },
        "helloHoldtime": {
          "type": "integer",
          "description": "Time before old neighbor information expires (0 - 65535 sec, default = 105).\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Interval between sending PIM hello messages (0 - 65535 sec, default = 30).\n"
        },
        "igmp": {
          "$ref": "#/types/fortios:router%2FMulticastInterfaceIgmp:MulticastInterfaceIgmp",
          "description": "IGMP configuration options. The structure of `igmp` block is documented below.\n"
        },
        "joinGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FMulticastInterfaceJoinGroup:MulticastInterfaceJoinGroup"
          },
          "description": "Join multicast groups. The structure of `join_group` block is documented below.\n"
        },
        "multicastFlow": {
          "type": "string",
          "description": "Acceptable source for multicast group.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "neighbourFilter": {
          "type": "string",
          "description": "Routers acknowledged as neighbor routers.\n"
        },
        "passive": {
          "type": "string",
          "description": "Enable/disable listening to IGMP but not participating in PIM. Valid values: `enable`, `disable`.\n"
        },
        "pimMode": {
          "type": "string",
          "description": "PIM operation mode. Valid values: `sparse-mode`, `dense-mode`.\n"
        },
        "propagationDelay": {
          "type": "integer",
          "description": "Delay flooding packets on this interface (100 - 5000 msec, default = 500).\n"
        },
        "rpCandidate": {
          "type": "string",
          "description": "Enable/disable compete to become RP in elections. Valid values: `enable`, `disable`.\n"
        },
        "rpCandidateGroup": {
          "type": "string",
          "description": "Multicast groups managed by this RP.\n"
        },
        "rpCandidateInterval": {
          "type": "integer",
          "description": "RP candidate advertisement interval (1 - 16383 sec, default = 60).\n"
        },
        "rpCandidatePriority": {
          "type": "integer",
          "description": "Router's priority as RP.\n"
        },
        "rpfNbrFailBack": {
          "type": "string",
          "description": "Enable/disable fail back for RPF neighbor query. Valid values: `enable`, `disable`.\n"
        },
        "rpfNbrFailBackFilter": {
          "type": "string",
          "description": "Filter for fail back RPF neighbors.\n"
        },
        "stateRefreshInterval": {
          "type": "integer",
          "description": "Interval between sending state-refresh packets (1 - 100 sec, default = 60).\n"
        },
        "staticGroup": {
          "type": "string",
          "description": "Statically set multicast groups to forward out.\n"
        },
        "ttlThreshold": {
          "type": "integer",
          "description": "Minimum TTL of multicast packets that will be forwarded (applied only to new multicast routes) (1 - 255, default = 1).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "bfd",
            "ciscoExcludeGenid",
            "drPriority",
            "helloHoldtime",
            "helloInterval",
            "igmp",
            "multicastFlow",
            "name",
            "neighbourFilter",
            "passive",
            "pimMode",
            "propagationDelay",
            "rpCandidate",
            "rpCandidateGroup",
            "rpCandidateInterval",
            "rpCandidatePriority",
            "rpfNbrFailBack",
            "rpfNbrFailBackFilter",
            "stateRefreshInterval",
            "staticGroup",
            "ttlThreshold"
          ]
        }
      }
    },
    "fortios:router/MulticastInterfaceIgmp:MulticastInterfaceIgmp": {
      "properties": {
        "accessGroup": {
          "type": "string",
          "description": "Groups IGMP hosts are allowed to join.\n"
        },
        "immediateLeaveGroup": {
          "type": "string",
          "description": "Groups to drop membership for immediately after receiving IGMPv2 leave.\n"
        },
        "lastMemberQueryCount": {
          "type": "integer",
          "description": "Number of group specific queries before removing group (2 - 7, default = 2).\n"
        },
        "lastMemberQueryInterval": {
          "type": "integer",
          "description": "Timeout between IGMPv2 leave and removing group (1 - 65535 msec, default = 1000).\n"
        },
        "queryInterval": {
          "type": "integer",
          "description": "Interval between queries to IGMP hosts (1 - 65535 sec, default = 125).\n"
        },
        "queryMaxResponseTime": {
          "type": "integer",
          "description": "Maximum time to wait for a IGMP query response (1 - 25 sec, default = 10).\n"
        },
        "queryTimeout": {
          "type": "integer",
          "description": "Timeout between queries before becoming querying unit for network (60 - 900, default = 255).\n"
        },
        "routerAlertCheck": {
          "type": "string",
          "description": "Enable/disable require IGMP packets contain router alert option. Valid values: `enable`, `disable`.\n"
        },
        "version": {
          "type": "string",
          "description": "Maximum version of IGMP to support. Valid values: `3`, `2`, `1`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "accessGroup",
            "immediateLeaveGroup",
            "lastMemberQueryCount",
            "lastMemberQueryInterval",
            "queryInterval",
            "queryMaxResponseTime",
            "queryTimeout",
            "routerAlertCheck",
            "version"
          ]
        }
      }
    },
    "fortios:router/MulticastInterfaceJoinGroup:MulticastInterfaceJoinGroup": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Multicast group IP address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "address"
          ]
        }
      }
    },
    "fortios:router/MulticastPimSmGlobal:MulticastPimSmGlobal": {
      "properties": {
        "acceptRegisterList": {
          "type": "string",
          "description": "Sources allowed to register packets with this Rendezvous Point (RP).\n"
        },
        "acceptSourceList": {
          "type": "string",
          "description": "Sources allowed to send multicast traffic.\n"
        },
        "bsrAllowQuickRefresh": {
          "type": "string",
          "description": "Enable/disable accept BSR quick refresh packets from neighbors. Valid values: `enable`, `disable`.\n"
        },
        "bsrCandidate": {
          "type": "string",
          "description": "Enable/disable allowing this router to become a bootstrap router (BSR). Valid values: `enable`, `disable`.\n"
        },
        "bsrHash": {
          "type": "integer",
          "description": "BSR hash length (0 - 32, default = 10).\n"
        },
        "bsrInterface": {
          "type": "string",
          "description": "Interface to advertise as candidate BSR.\n"
        },
        "bsrPriority": {
          "type": "integer",
          "description": "BSR priority (0 - 255, default = 0).\n"
        },
        "ciscoCrpPrefix": {
          "type": "string",
          "description": "Enable/disable making candidate RP compatible with old Cisco IOS. Valid values: `enable`, `disable`.\n"
        },
        "ciscoIgnoreRpSetPriority": {
          "type": "string",
          "description": "Use only hash for RP selection (compatibility with old Cisco IOS). Valid values: `enable`, `disable`.\n"
        },
        "ciscoRegisterChecksum": {
          "type": "string",
          "description": "Checksum entire register packet(for old Cisco IOS compatibility). Valid values: `enable`, `disable`.\n"
        },
        "ciscoRegisterChecksumGroup": {
          "type": "string",
          "description": "Cisco register checksum only these groups.\n"
        },
        "joinPruneHoldtime": {
          "type": "integer",
          "description": "Join/prune holdtime (1 - 65535, default = 210).\n"
        },
        "messageInterval": {
          "type": "integer",
          "description": "Period of time between sending periodic PIM join/prune messages in seconds (1 - 65535, default = 60).\n"
        },
        "nullRegisterRetries": {
          "type": "integer",
          "description": "Maximum retries of null register (1 - 20, default = 1).\n"
        },
        "pimUseSdwan": {
          "type": "string",
          "description": "Enable/disable use of SDWAN when checking RPF neighbor and sending of REG packet. Valid values: `enable`, `disable`.\n"
        },
        "registerRateLimit": {
          "type": "integer",
          "description": "Limit of packets/sec per source registered through this RP (0 - 65535, default = 0 which means unlimited).\n"
        },
        "registerRpReachability": {
          "type": "string",
          "description": "Enable/disable check RP is reachable before registering packets. Valid values: `enable`, `disable`.\n"
        },
        "registerSource": {
          "type": "string",
          "description": "Override source address in register packets. Valid values: `disable`, `interface`, `ip-address`.\n"
        },
        "registerSourceInterface": {
          "type": "string",
          "description": "Override with primary interface address.\n"
        },
        "registerSourceIp": {
          "type": "string",
          "description": "Override with local IP address.\n"
        },
        "registerSupression": {
          "type": "integer",
          "description": "Period of time to honor register-stop message (1 - 65535 sec, default = 60).\n"
        },
        "rpAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FMulticastPimSmGlobalRpAddress:MulticastPimSmGlobalRpAddress"
          },
          "description": "Statically configure RP addresses. The structure of `rp_address` block is documented below.\n"
        },
        "rpRegisterKeepalive": {
          "type": "integer",
          "description": "Timeout for RP receiving data on (S,G) tree (1 - 65535 sec, default = 185).\n"
        },
        "sptThreshold": {
          "type": "string",
          "description": "Enable/disable switching to source specific trees. Valid values: `enable`, `disable`.\n"
        },
        "sptThresholdGroup": {
          "type": "string",
          "description": "Groups allowed to switch to source tree.\n"
        },
        "ssm": {
          "type": "string",
          "description": "Enable/disable source specific multicast. Valid values: `enable`, `disable`.\n"
        },
        "ssmRange": {
          "type": "string",
          "description": "Groups allowed to source specific multicast.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "acceptRegisterList",
            "acceptSourceList",
            "bsrAllowQuickRefresh",
            "bsrCandidate",
            "bsrHash",
            "bsrInterface",
            "bsrPriority",
            "ciscoCrpPrefix",
            "ciscoIgnoreRpSetPriority",
            "ciscoRegisterChecksum",
            "ciscoRegisterChecksumGroup",
            "joinPruneHoldtime",
            "messageInterval",
            "nullRegisterRetries",
            "pimUseSdwan",
            "registerRateLimit",
            "registerRpReachability",
            "registerSource",
            "registerSourceInterface",
            "registerSourceIp",
            "registerSupression",
            "rpRegisterKeepalive",
            "sptThreshold",
            "sptThresholdGroup",
            "ssm",
            "ssmRange"
          ]
        }
      }
    },
    "fortios:router/MulticastPimSmGlobalRpAddress:MulticastPimSmGlobalRpAddress": {
      "properties": {
        "group": {
          "type": "string",
          "description": "Groups to use this RP.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ipAddress": {
          "type": "string",
          "description": "RP router address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "group",
            "id",
            "ipAddress"
          ]
        }
      }
    },
    "fortios:router/MulticastflowFlow:MulticastflowFlow": {
      "properties": {
        "groupAddr": {
          "type": "string",
          "description": "Multicast group IP address.\n"
        },
        "id": {
          "type": "integer",
          "description": "Flow ID.\n"
        },
        "sourceAddr": {
          "type": "string",
          "description": "Multicast source IP address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "groupAddr",
            "id",
            "sourceAddr"
          ]
        }
      }
    },
    "fortios:router/Ospf6Area:Ospf6Area": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication mode. Valid values: `none`, `ah`, `esp`.\n"
        },
        "defaultCost": {
          "type": "integer",
          "description": "Summary default cost of stub or NSSA area.\n"
        },
        "id": {
          "type": "string",
          "description": "Area entry IP address.\n"
        },
        "ipsecAuthAlg": {
          "type": "string",
          "description": "Authentication algorithm. Valid values: `md5`, `sha1`, `sha256`, `sha384`, `sha512`.\n"
        },
        "ipsecEncAlg": {
          "type": "string",
          "description": "Encryption algorithm. Valid values: `null`, `des`, `3des`, `aes128`, `aes192`, `aes256`.\n"
        },
        "ipsecKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6AreaIpsecKey:Ospf6AreaIpsecKey"
          },
          "description": "IPsec authentication and encryption keys. The structure of `ipsec_keys` block is documented below.\n"
        },
        "keyRolloverInterval": {
          "type": "integer",
          "description": "Key roll-over interval.\n"
        },
        "nssaDefaultInformationOriginate": {
          "type": "string",
          "description": "Enable/disable originate type 7 default into NSSA area. Valid values: `enable`, `disable`.\n"
        },
        "nssaDefaultInformationOriginateMetric": {
          "type": "integer",
          "description": "OSPFv3 default metric.\n"
        },
        "nssaDefaultInformationOriginateMetricType": {
          "type": "string",
          "description": "OSPFv3 metric type for default routes. Valid values: `1`, `2`.\n"
        },
        "nssaRedistribution": {
          "type": "string",
          "description": "Enable/disable redistribute into NSSA area. Valid values: `enable`, `disable`.\n"
        },
        "nssaTranslatorRole": {
          "type": "string",
          "description": "NSSA translator role type. Valid values: `candidate`, `never`, `always`.\n"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6AreaRange:Ospf6AreaRange"
          },
          "description": "OSPF6 area range configuration. The structure of `range` block is documented below.\n"
        },
        "stubType": {
          "type": "string",
          "description": "Stub summary setting. Valid values: `no-summary`, `summary`.\n"
        },
        "type": {
          "type": "string",
          "description": "Area type setting. Valid values: `regular`, `nssa`, `stub`.\n"
        },
        "virtualLinks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6AreaVirtualLink:Ospf6AreaVirtualLink"
          },
          "description": "OSPF6 virtual link configuration. The structure of `virtual_link` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authentication",
            "defaultCost",
            "id",
            "ipsecAuthAlg",
            "ipsecEncAlg",
            "keyRolloverInterval",
            "nssaDefaultInformationOriginate",
            "nssaDefaultInformationOriginateMetric",
            "nssaDefaultInformationOriginateMetricType",
            "nssaRedistribution",
            "nssaTranslatorRole",
            "stubType",
            "type"
          ]
        }
      }
    },
    "fortios:router/Ospf6AreaIpsecKey:Ospf6AreaIpsecKey": {
      "properties": {
        "authKey": {
          "type": "string",
          "description": "Authentication key.\n",
          "secret": true
        },
        "encKey": {
          "type": "string",
          "description": "Encryption key.\n",
          "secret": true
        },
        "spi": {
          "type": "integer",
          "description": "Security Parameters Index.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "spi"
          ]
        }
      }
    },
    "fortios:router/Ospf6AreaRange:Ospf6AreaRange": {
      "properties": {
        "advertise": {
          "type": "string",
          "description": "Enable/disable advertise status. Valid values: `disable`, `enable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Range entry ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "IPv6 prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "advertise",
            "id",
            "prefix6"
          ]
        }
      }
    },
    "fortios:router/Ospf6AreaVirtualLink:Ospf6AreaVirtualLink": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication mode. Valid values: `none`, `ah`, `esp`, `area`.\n"
        },
        "deadInterval": {
          "type": "integer",
          "description": "Dead interval.\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Hello interval.\n"
        },
        "ipsecAuthAlg": {
          "type": "string",
          "description": "Authentication algorithm. Valid values: `md5`, `sha1`, `sha256`, `sha384`, `sha512`.\n"
        },
        "ipsecEncAlg": {
          "type": "string",
          "description": "Encryption algorithm. Valid values: `null`, `des`, `3des`, `aes128`, `aes192`, `aes256`.\n"
        },
        "ipsecKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6AreaVirtualLinkIpsecKey:Ospf6AreaVirtualLinkIpsecKey"
          },
          "description": "IPsec authentication and encryption keys. The structure of `ipsec_keys` block is documented below.\n"
        },
        "keyRolloverInterval": {
          "type": "integer",
          "description": "Key roll-over interval.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual link entry name.\n"
        },
        "peer": {
          "type": "string",
          "description": "A.B.C.D, peer router ID.\n"
        },
        "retransmitInterval": {
          "type": "integer",
          "description": "Retransmit interval.\n"
        },
        "transmitDelay": {
          "type": "integer",
          "description": "Transmit delay.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authentication",
            "deadInterval",
            "helloInterval",
            "ipsecAuthAlg",
            "ipsecEncAlg",
            "keyRolloverInterval",
            "name",
            "peer",
            "retransmitInterval",
            "transmitDelay"
          ]
        }
      }
    },
    "fortios:router/Ospf6AreaVirtualLinkIpsecKey:Ospf6AreaVirtualLinkIpsecKey": {
      "properties": {
        "authKey": {
          "type": "string",
          "description": "Authentication key.\n",
          "secret": true
        },
        "encKey": {
          "type": "string",
          "description": "Encryption key.\n",
          "secret": true
        },
        "spi": {
          "type": "integer",
          "description": "Security Parameters Index.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "spi"
          ]
        }
      }
    },
    "fortios:router/Ospf6Ospf6Interface:Ospf6Ospf6Interface": {
      "properties": {
        "areaId": {
          "type": "string"
        },
        "authentication": {
          "type": "string"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bidirectional Forwarding Detection (BFD). Valid values: `enable`, `disable`.\n"
        },
        "cost": {
          "type": "integer"
        },
        "deadInterval": {
          "type": "integer"
        },
        "helloInterval": {
          "type": "integer"
        },
        "interface": {
          "type": "string"
        },
        "ipsecAuthAlg": {
          "type": "string"
        },
        "ipsecEncAlg": {
          "type": "string"
        },
        "ipsecKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6Ospf6InterfaceIpsecKey:Ospf6Ospf6InterfaceIpsecKey"
          }
        },
        "keyRolloverInterval": {
          "type": "integer"
        },
        "mtu": {
          "type": "integer"
        },
        "mtuIgnore": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspf6Ospf6InterfaceNeighbor:Ospf6Ospf6InterfaceNeighbor"
          }
        },
        "networkType": {
          "type": "string"
        },
        "priority": {
          "type": "integer"
        },
        "retransmitInterval": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "transmitDelay": {
          "type": "integer"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "areaId",
            "authentication",
            "bfd",
            "cost",
            "deadInterval",
            "helloInterval",
            "interface",
            "ipsecAuthAlg",
            "ipsecEncAlg",
            "keyRolloverInterval",
            "mtu",
            "mtuIgnore",
            "name",
            "networkType",
            "priority",
            "retransmitInterval",
            "status",
            "transmitDelay"
          ]
        }
      }
    },
    "fortios:router/Ospf6Ospf6InterfaceIpsecKey:Ospf6Ospf6InterfaceIpsecKey": {
      "properties": {
        "authKey": {
          "type": "string",
          "description": "Authentication key.\n",
          "secret": true
        },
        "encKey": {
          "type": "string",
          "description": "Encryption key.\n",
          "secret": true
        },
        "spi": {
          "type": "integer",
          "description": "Security Parameters Index.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "spi"
          ]
        }
      }
    },
    "fortios:router/Ospf6Ospf6InterfaceNeighbor:Ospf6Ospf6InterfaceNeighbor": {
      "properties": {
        "cost": {
          "type": "integer",
          "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 link local address of the neighbor.\n"
        },
        "pollInterval": {
          "type": "integer",
          "description": "Poll interval time in seconds.\n"
        },
        "priority": {
          "type": "integer",
          "description": "priority\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cost",
            "ip6",
            "pollInterval",
            "priority"
          ]
        }
      }
    },
    "fortios:router/Ospf6PassiveInterface:Ospf6PassiveInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Passive interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/Ospf6Redistribute:Ospf6Redistribute": {
      "properties": {
        "metric": {
          "type": "integer",
          "description": "Redistribute metric setting.\n"
        },
        "metricType": {
          "type": "string",
          "description": "Metric type. Valid values: `1`, `2`.\n"
        },
        "name": {
          "type": "string",
          "description": "Redistribute name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "status Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "metric",
            "metricType",
            "name",
            "routemap",
            "status"
          ]
        }
      }
    },
    "fortios:router/Ospf6SummaryAddress:Ospf6SummaryAddress": {
      "properties": {
        "advertise": {
          "type": "string",
          "description": "Enable/disable advertise status. Valid values: `disable`, `enable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Summary address entry ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "IPv6 prefix.\n"
        },
        "tag": {
          "type": "integer",
          "description": "Tag value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "advertise",
            "id",
            "prefix6",
            "tag"
          ]
        }
      }
    },
    "fortios:router/OspfArea:OspfArea": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication type.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "defaultCost": {
          "type": "integer",
          "description": "Summary default cost of stub or NSSA area.\n"
        },
        "filterLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfAreaFilterList:OspfAreaFilterList"
          },
          "description": "OSPF area filter-list configuration. The structure of `filter_list` block is documented below.\n"
        },
        "id": {
          "type": "string",
          "description": "Area entry IP address.\n"
        },
        "nssaDefaultInformationOriginate": {
          "type": "string",
          "description": "Redistribute, advertise, or do not originate Type-7 default route into NSSA area. Valid values: `enable`, `always`, `disable`.\n"
        },
        "nssaDefaultInformationOriginateMetric": {
          "type": "integer",
          "description": "OSPF default metric.\n"
        },
        "nssaDefaultInformationOriginateMetricType": {
          "type": "string",
          "description": "OSPF metric type for default routes. Valid values: `1`, `2`.\n"
        },
        "nssaRedistribution": {
          "type": "string",
          "description": "Enable/disable redistribute into NSSA area. Valid values: `enable`, `disable`.\n"
        },
        "nssaTranslatorRole": {
          "type": "string",
          "description": "NSSA translator role type. Valid values: `candidate`, `never`, `always`.\n"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfAreaRange:OspfAreaRange"
          },
          "description": "OSPF area range configuration. The structure of `range` block is documented below.\n"
        },
        "shortcut": {
          "type": "string",
          "description": "Enable/disable shortcut option. Valid values: `disable`, `enable`, `default`.\n"
        },
        "stubType": {
          "type": "string",
          "description": "Stub summary setting. Valid values: `no-summary`, `summary`.\n"
        },
        "type": {
          "type": "string",
          "description": "Area type setting. Valid values: `regular`, `nssa`, `stub`.\n"
        },
        "virtualLinks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfAreaVirtualLink:OspfAreaVirtualLink"
          },
          "description": "OSPF virtual link configuration. The structure of `virtual_link` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authentication",
            "defaultCost",
            "id",
            "nssaDefaultInformationOriginate",
            "nssaDefaultInformationOriginateMetric",
            "nssaDefaultInformationOriginateMetricType",
            "nssaRedistribution",
            "nssaTranslatorRole",
            "shortcut",
            "stubType",
            "type"
          ]
        }
      }
    },
    "fortios:router/OspfAreaFilterList:OspfAreaFilterList": {
      "properties": {
        "direction": {
          "type": "string",
          "description": "Direction. Valid values: `in`, `out`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Filter list entry ID.\n"
        },
        "list": {
          "type": "string",
          "description": "Access-list or prefix-list name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "direction",
            "id",
            "list"
          ]
        }
      }
    },
    "fortios:router/OspfAreaRange:OspfAreaRange": {
      "properties": {
        "advertise": {
          "type": "string",
          "description": "Enable/disable advertise status. Valid values: `disable`, `enable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Range entry ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        },
        "substitute": {
          "type": "string",
          "description": "Substitute prefix.\n"
        },
        "substituteStatus": {
          "type": "string",
          "description": "Enable/disable substitute status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "advertise",
            "id",
            "prefix",
            "substitute",
            "substituteStatus"
          ]
        }
      }
    },
    "fortios:router/OspfAreaVirtualLink:OspfAreaVirtualLink": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication type.\n"
        },
        "authenticationKey": {
          "type": "string",
          "description": "Authentication key.\n",
          "secret": true
        },
        "deadInterval": {
          "type": "integer",
          "description": "Dead interval.\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Hello interval.\n"
        },
        "keychain": {
          "type": "string",
          "description": "Message-digest key-chain name.\n"
        },
        "md5Key": {
          "type": "string",
          "description": "MD5 key.\n",
          "secret": true
        },
        "md5Keychain": {
          "type": "string",
          "description": "Authentication MD5 key-chain name.\n"
        },
        "md5Keys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfAreaVirtualLinkMd5Key:OspfAreaVirtualLinkMd5Key"
          },
          "description": "MD5 key. The structure of `md5_keys` block is documented below.\n\nThe `md5_keys` block supports:\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual link entry name.\n"
        },
        "peer": {
          "type": "string",
          "description": "Peer IP.\n"
        },
        "retransmitInterval": {
          "type": "integer",
          "description": "Retransmit interval.\n"
        },
        "transmitDelay": {
          "type": "integer",
          "description": "Transmit delay.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authentication",
            "deadInterval",
            "helloInterval",
            "keychain",
            "md5Key",
            "md5Keychain",
            "name",
            "peer",
            "retransmitInterval",
            "transmitDelay"
          ]
        }
      }
    },
    "fortios:router/OspfAreaVirtualLinkMd5Key:OspfAreaVirtualLinkMd5Key": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "an identifier for the resource.\n"
        },
        "keyString": {
          "type": "string",
          "secret": true
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:router/OspfDistributeList:OspfDistributeList": {
      "properties": {
        "accessList": {
          "type": "string",
          "description": "Access list name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Distribute list entry ID.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol type. Valid values: `connected`, `static`, `rip`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "accessList",
            "id",
            "protocol"
          ]
        }
      }
    },
    "fortios:router/OspfNeighbor:OspfNeighbor": {
      "properties": {
        "cost": {
          "type": "integer",
          "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
        },
        "id": {
          "type": "integer",
          "description": "Neighbor entry ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface IP address of the neighbor.\n"
        },
        "pollInterval": {
          "type": "integer",
          "description": "Poll interval time in seconds.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cost",
            "id",
            "ip",
            "pollInterval",
            "priority"
          ]
        }
      }
    },
    "fortios:router/OspfNetwork:OspfNetwork": {
      "properties": {
        "area": {
          "type": "string",
          "description": "Attach the network to area.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "id": {
          "type": "integer",
          "description": "Network entry ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "area",
            "id",
            "prefix"
          ]
        }
      }
    },
    "fortios:router/OspfOspfInterface:OspfOspfInterface": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication type.\n"
        },
        "authenticationKey": {
          "type": "string",
          "description": "Authentication key.\n",
          "secret": true
        },
        "bfd": {
          "type": "string",
          "description": "Bidirectional Forwarding Detection (BFD). Valid values: `global`, `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "cost": {
          "type": "integer",
          "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
        },
        "databaseFilterOut": {
          "type": "string",
          "description": "Enable/disable control of flooding out LSAs. Valid values: `enable`, `disable`.\n"
        },
        "deadInterval": {
          "type": "integer",
          "description": "Dead interval.\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Hello interval.\n"
        },
        "helloMultiplier": {
          "type": "integer",
          "description": "Number of hello packets within dead interval.\n"
        },
        "interface": {
          "type": "string",
          "description": "Configuration interface name.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address.\n"
        },
        "keychain": {
          "type": "string",
          "description": "Message-digest key-chain name.\n"
        },
        "md5Key": {
          "type": "string",
          "description": "MD5 key.\n",
          "secret": true
        },
        "md5Keychain": {
          "type": "string",
          "description": "Authentication MD5 key-chain name.\n"
        },
        "md5Keys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FOspfOspfInterfaceMd5Key:OspfOspfInterfaceMd5Key"
          },
          "description": "MD5 key. The structure of `md5_keys` block is documented below.\n\nThe `md5_keys` block supports:\n"
        },
        "mtu": {
          "type": "integer",
          "description": "MTU for database description packets.\n"
        },
        "mtuIgnore": {
          "type": "string",
          "description": "Enable/disable ignore MTU. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface entry name.\n"
        },
        "networkType": {
          "type": "string",
          "description": "Network type. Valid values: `broadcast`, `non-broadcast`, `point-to-point`, `point-to-multipoint`, `point-to-multipoint-non-broadcast`.\n"
        },
        "prefixLength": {
          "type": "integer",
          "description": "Prefix length.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority.\n"
        },
        "resyncTimeout": {
          "type": "integer",
          "description": "Graceful restart neighbor resynchronization timeout.\n"
        },
        "retransmitInterval": {
          "type": "integer",
          "description": "Retransmit interval.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `disable`, `enable`.\n"
        },
        "transmitDelay": {
          "type": "integer",
          "description": "Transmit delay.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authentication",
            "bfd",
            "cost",
            "databaseFilterOut",
            "deadInterval",
            "helloInterval",
            "helloMultiplier",
            "interface",
            "ip",
            "keychain",
            "md5Key",
            "md5Keychain",
            "mtu",
            "mtuIgnore",
            "name",
            "networkType",
            "prefixLength",
            "priority",
            "resyncTimeout",
            "retransmitInterval",
            "status",
            "transmitDelay"
          ]
        }
      }
    },
    "fortios:router/OspfOspfInterfaceMd5Key:OspfOspfInterfaceMd5Key": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "an identifier for the resource.\n"
        },
        "keyString": {
          "type": "string",
          "secret": true
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:router/OspfPassiveInterface:OspfPassiveInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Passive interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/OspfRedistribute:OspfRedistribute": {
      "properties": {
        "metric": {
          "type": "integer",
          "description": "Redistribute metric setting.\n"
        },
        "metricType": {
          "type": "string",
          "description": "Metric type. Valid values: `1`, `2`.\n"
        },
        "name": {
          "type": "string",
          "description": "Redistribute name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "status Valid values: `enable`, `disable`.\n"
        },
        "tag": {
          "type": "integer",
          "description": "Tag value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "metric",
            "metricType",
            "name",
            "routemap",
            "status",
            "tag"
          ]
        }
      }
    },
    "fortios:router/OspfSummaryAddress:OspfSummaryAddress": {
      "properties": {
        "advertise": {
          "type": "string",
          "description": "Enable/disable advertise status. Valid values: `disable`, `enable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Summary address entry ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        },
        "tag": {
          "type": "integer",
          "description": "Tag value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "advertise",
            "id",
            "prefix",
            "tag"
          ]
        }
      }
    },
    "fortios:router/Policy6Dstaddr:Policy6Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address/group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/Policy6InternetServiceCustom:Policy6InternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Destination Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/Policy6InternetServiceId:Policy6InternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Destination Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:router/Policy6Srcaddr:Policy6Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address/group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/PolicyDst:PolicyDst": {
      "properties": {
        "subnet": {
          "type": "string",
          "description": "IP and mask.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "subnet"
          ]
        }
      }
    },
    "fortios:router/PolicyDstaddr:PolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address/group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/PolicyInputDevice:PolicyInputDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/PolicyInternetServiceCustom:PolicyInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Destination Internet Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/PolicyInternetServiceId:PolicyInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Destination Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:router/PolicySrc:PolicySrc": {
      "properties": {
        "subnet": {
          "type": "string",
          "description": "IP and mask.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "subnet"
          ]
        }
      }
    },
    "fortios:router/PolicySrcaddr:PolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address/group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/Prefixlist6Rule:Prefixlist6Rule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny packets that match this rule. Valid values: `permit`, `deny`.\n"
        },
        "flags": {
          "type": "integer",
          "description": "Flags.\n"
        },
        "ge": {
          "type": "integer",
          "description": "Minimum prefix length to be matched (0 - 128).\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "le": {
          "type": "integer",
          "description": "Maximum prefix length to be matched (0 - 128).\n"
        },
        "prefix6": {
          "type": "string",
          "description": "IPv6 prefix to define regular filter criteria, such as \"any\" or subnets.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "flags",
            "ge",
            "id",
            "le",
            "prefix6"
          ]
        }
      }
    },
    "fortios:router/PrefixlistRule:PrefixlistRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny this IP address and netmask prefix. Valid values: `permit`, `deny`.\n"
        },
        "flags": {
          "type": "integer",
          "description": "Flags.\n"
        },
        "ge": {
          "type": "integer",
          "description": "Minimum prefix length to be matched (0 - 32).\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "le": {
          "type": "integer",
          "description": "Maximum prefix length to be matched (0 - 32).\n"
        },
        "prefix": {
          "type": "string",
          "description": "IPv4 prefix to define regular filter criteria, such as \"any\" or subnets.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "flags",
            "ge",
            "id",
            "le",
            "prefix"
          ]
        }
      }
    },
    "fortios:router/RipDistance:RipDistance": {
      "properties": {
        "accessList": {
          "type": "string",
          "description": "Access list for route destination.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance (1 - 255).\n"
        },
        "id": {
          "type": "integer",
          "description": "Distance ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Distance prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "accessList",
            "distance",
            "id",
            "prefix"
          ]
        }
      }
    },
    "fortios:router/RipDistributeList:RipDistributeList": {
      "properties": {
        "direction": {
          "type": "string",
          "description": "Distribute list direction. Valid values: `in`, `out`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Distribute list ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Distribute list interface name.\n"
        },
        "listname": {
          "type": "string",
          "description": "Distribute access/prefix list name.\n"
        },
        "status": {
          "type": "string",
          "description": "status Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "direction",
            "id",
            "interface",
            "listname",
            "status"
          ]
        }
      }
    },
    "fortios:router/RipInterface:RipInterface": {
      "properties": {
        "authKeychain": {
          "type": "string",
          "description": "Authentication key-chain name.\n"
        },
        "authMode": {
          "type": "string",
          "description": "Authentication mode. Valid values: `none`, `text`, `md5`.\n"
        },
        "authString": {
          "type": "string",
          "description": "Authentication string/password.\n",
          "secret": true
        },
        "flags": {
          "type": "integer",
          "description": "flags\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "receiveVersion": {
          "type": "string",
          "description": "Receive version. Valid values: `1`, `2`.\n"
        },
        "sendVersion": {
          "type": "string",
          "description": "Send version. Valid values: `1`, `2`.\n"
        },
        "sendVersion2Broadcast": {
          "type": "string",
          "description": "Enable/disable broadcast version 1 compatible packets. Valid values: `disable`, `enable`.\n"
        },
        "splitHorizon": {
          "type": "string",
          "description": "Enable/disable split horizon. Valid values: `poisoned`, `regular`.\n"
        },
        "splitHorizonStatus": {
          "type": "string",
          "description": "Enable/disable split horizon. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authKeychain",
            "authMode",
            "flags",
            "name",
            "receiveVersion",
            "sendVersion",
            "sendVersion2Broadcast",
            "splitHorizon",
            "splitHorizonStatus"
          ]
        }
      }
    },
    "fortios:router/RipNeighbor:RipNeighbor": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Neighbor entry ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ip"
          ]
        }
      }
    },
    "fortios:router/RipNetwork:RipNetwork": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Network entry ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Network prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "prefix"
          ]
        }
      }
    },
    "fortios:router/RipOffsetList:RipOffsetList": {
      "properties": {
        "accessList": {
          "type": "string",
          "description": "Access list name.\n"
        },
        "direction": {
          "type": "string",
          "description": "Offset list direction. Valid values: `in`, `out`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "offset": {
          "type": "integer",
          "description": "offset\n"
        },
        "status": {
          "type": "string",
          "description": "status Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "accessList",
            "direction",
            "id",
            "interface",
            "offset",
            "status"
          ]
        }
      }
    },
    "fortios:router/RipPassiveInterface:RipPassiveInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Passive interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/RipRedistribute:RipRedistribute": {
      "properties": {
        "metric": {
          "type": "integer",
          "description": "Redistribute metric setting.\n"
        },
        "name": {
          "type": "string",
          "description": "Redistribute name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "status Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "metric",
            "name",
            "routemap",
            "status"
          ]
        }
      }
    },
    "fortios:router/RipngAggregateAddress:RipngAggregateAddress": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Aggregate address entry ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "Aggregate address prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "prefix6"
          ]
        }
      }
    },
    "fortios:router/RipngDistance:RipngDistance": {
      "properties": {
        "accessList6": {
          "type": "string",
          "description": "Access list for route destination.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance (1 - 255).\n"
        },
        "id": {
          "type": "integer",
          "description": "Distance ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "Distance prefix6.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "accessList6",
            "distance",
            "id",
            "prefix6"
          ]
        }
      }
    },
    "fortios:router/RipngDistributeList:RipngDistributeList": {
      "properties": {
        "direction": {
          "type": "string",
          "description": "Distribute list direction. Valid values: `in`, `out`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Distribute list ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Distribute list interface name.\n"
        },
        "listname": {
          "type": "string",
          "description": "Distribute access/prefix list name.\n"
        },
        "status": {
          "type": "string",
          "description": "status Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "direction",
            "id",
            "interface",
            "listname",
            "status"
          ]
        }
      }
    },
    "fortios:router/RipngInterface:RipngInterface": {
      "properties": {
        "flags": {
          "type": "integer",
          "description": "Flags.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "splitHorizon": {
          "type": "string",
          "description": "Enable/disable split horizon. Valid values: `poisoned`, `regular`.\n"
        },
        "splitHorizonStatus": {
          "type": "string",
          "description": "Enable/disable split horizon. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "flags",
            "name",
            "splitHorizon",
            "splitHorizonStatus"
          ]
        }
      }
    },
    "fortios:router/RipngNeighbor:RipngNeighbor": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Neighbor entry ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 link-local address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "interface",
            "ip6"
          ]
        }
      }
    },
    "fortios:router/RipngNetwork:RipngNetwork": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Network entry ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Network IPv6 link-local prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "prefix"
          ]
        }
      }
    },
    "fortios:router/RipngOffsetList:RipngOffsetList": {
      "properties": {
        "accessList6": {
          "type": "string",
          "description": "IPv6 access list name.\n"
        },
        "direction": {
          "type": "string",
          "description": "Offset list direction. Valid values: `in`, `out`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "offset": {
          "type": "integer",
          "description": "offset\n"
        },
        "status": {
          "type": "string",
          "description": "status Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "accessList6",
            "direction",
            "id",
            "interface",
            "offset",
            "status"
          ]
        }
      }
    },
    "fortios:router/RipngPassiveInterface:RipngPassiveInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Passive interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/RipngRedistribute:RipngRedistribute": {
      "properties": {
        "metric": {
          "type": "integer",
          "description": "Redistribute metric setting.\n"
        },
        "name": {
          "type": "string",
          "description": "Redistribute name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "status Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "metric",
            "name",
            "routemap",
            "status"
          ]
        }
      }
    },
    "fortios:router/RoutemapRule:RoutemapRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `permit`, `deny`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "matchAsPath": {
          "type": "string",
          "description": "Match BGP AS path list.\n"
        },
        "matchCommunity": {
          "type": "string",
          "description": "Match BGP community list.\n"
        },
        "matchCommunityExact": {
          "type": "string",
          "description": "Enable/disable exact matching of communities. Valid values: `enable`, `disable`.\n"
        },
        "matchExtcommunity": {
          "type": "string",
          "description": "Match BGP extended community list.\n"
        },
        "matchExtcommunityExact": {
          "type": "string",
          "description": "Enable/disable exact matching of extended communities. Valid values: `enable`, `disable`.\n"
        },
        "matchFlags": {
          "type": "integer",
          "description": "BGP flag value to match (0 - 65535)\n"
        },
        "matchInterface": {
          "type": "string",
          "description": "Match interface configuration.\n"
        },
        "matchIp6Address": {
          "type": "string",
          "description": "Match IPv6 address permitted by access-list6 or prefix-list6.\n"
        },
        "matchIp6Nexthop": {
          "type": "string",
          "description": "Match next hop IPv6 address passed by access-list6 or prefix-list6.\n"
        },
        "matchIpAddress": {
          "type": "string",
          "description": "Match IP address permitted by access-list or prefix-list.\n"
        },
        "matchIpNexthop": {
          "type": "string",
          "description": "Match next hop IP address passed by access-list or prefix-list.\n"
        },
        "matchMetric": {
          "type": "integer",
          "description": "Match metric for redistribute routes.\n"
        },
        "matchOrigin": {
          "type": "string",
          "description": "Match BGP origin code. Valid values: `none`, `egp`, `igp`, `incomplete`.\n"
        },
        "matchRouteType": {
          "type": "string",
          "description": "Match route type.\n"
        },
        "matchTag": {
          "type": "integer",
          "description": "Match tag.\n"
        },
        "matchVrf": {
          "type": "integer",
          "description": "Match VRF ID.\n"
        },
        "setAggregatorAs": {
          "type": "integer",
          "description": "BGP aggregator AS.\n"
        },
        "setAggregatorIp": {
          "type": "string",
          "description": "BGP aggregator IP.\n"
        },
        "setAspathAction": {
          "type": "string",
          "description": "Specify preferred action of set-aspath. Valid values: `prepend`, `replace`.\n"
        },
        "setAspaths": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRoutemapRuleSetAspath:RoutemapRuleSetAspath"
          },
          "description": "Prepend BGP AS path attribute. The structure of `set_aspath` block is documented below.\n"
        },
        "setAtomicAggregate": {
          "type": "string",
          "description": "Enable/disable BGP atomic aggregate attribute. Valid values: `enable`, `disable`.\n"
        },
        "setCommunities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRoutemapRuleSetCommunity:RoutemapRuleSetCommunity"
          },
          "description": "BGP community attribute. The structure of `set_community` block is documented below.\n"
        },
        "setCommunityAdditive": {
          "type": "string",
          "description": "Enable/disable adding set-community to existing community. Valid values: `enable`, `disable`.\n"
        },
        "setCommunityDelete": {
          "type": "string",
          "description": "Delete communities matching community list.\n"
        },
        "setDampeningMaxSuppress": {
          "type": "integer",
          "description": "Maximum duration to suppress a route (1 - 255 min, 0 = unset).\n"
        },
        "setDampeningReachabilityHalfLife": {
          "type": "integer",
          "description": "Reachability half-life time for the penalty (1 - 45 min, 0 = unset).\n"
        },
        "setDampeningReuse": {
          "type": "integer",
          "description": "Value to start reusing a route (1 - 20000, 0 = unset).\n"
        },
        "setDampeningSuppress": {
          "type": "integer",
          "description": "Value to start suppressing a route (1 - 20000, 0 = unset).\n"
        },
        "setDampeningUnreachabilityHalfLife": {
          "type": "integer",
          "description": "Unreachability Half-life time for the penalty (1 - 45 min, 0 = unset)\n"
        },
        "setExtcommunityRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRoutemapRuleSetExtcommunityRt:RoutemapRuleSetExtcommunityRt"
          },
          "description": "Route Target extended community. The structure of `set_extcommunity_rt` block is documented below.\n"
        },
        "setExtcommunitySoos": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FRoutemapRuleSetExtcommunitySoo:RoutemapRuleSetExtcommunitySoo"
          },
          "description": "Site-of-Origin extended community. The structure of `set_extcommunity_soo` block is documented below.\n"
        },
        "setFlags": {
          "type": "integer",
          "description": "BGP flags value (0 - 65535)\n"
        },
        "setIp6Nexthop": {
          "type": "string",
          "description": "IPv6 global address of next hop.\n"
        },
        "setIp6NexthopLocal": {
          "type": "string",
          "description": "IPv6 local address of next hop.\n"
        },
        "setIpNexthop": {
          "type": "string",
          "description": "IP address of next hop.\n"
        },
        "setIpPrefsrc": {
          "type": "string",
          "description": "IP address of preferred source.\n"
        },
        "setLocalPreference": {
          "type": "integer",
          "description": "BGP local preference path attribute.\n"
        },
        "setMetric": {
          "type": "integer",
          "description": "Metric value.\n"
        },
        "setMetricType": {
          "type": "string",
          "description": "Metric type.\n"
        },
        "setOrigin": {
          "type": "string",
          "description": "BGP origin code. Valid values: `none`, `egp`, `igp`, `incomplete`.\n"
        },
        "setOriginatorId": {
          "type": "string",
          "description": "BGP originator ID attribute.\n"
        },
        "setPriority": {
          "type": "integer",
          "description": "Priority for routing table.\n"
        },
        "setRouteTag": {
          "type": "integer",
          "description": "Route tag for routing table.\n"
        },
        "setTag": {
          "type": "integer",
          "description": "Tag value.\n"
        },
        "setVpnv4Nexthop": {
          "type": "string",
          "description": "IP address of VPNv4 next-hop.\n"
        },
        "setVpnv6Nexthop": {
          "type": "string",
          "description": "IPv6 global address of VPNv6 next-hop.\n"
        },
        "setVpnv6NexthopLocal": {
          "type": "string",
          "description": "IPv6 link-local address of VPNv6 next-hop.\n"
        },
        "setWeight": {
          "type": "integer",
          "description": "BGP weight for routing table.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "matchAsPath",
            "matchCommunity",
            "matchCommunityExact",
            "matchExtcommunity",
            "matchExtcommunityExact",
            "matchFlags",
            "matchInterface",
            "matchIp6Address",
            "matchIp6Nexthop",
            "matchIpAddress",
            "matchIpNexthop",
            "matchMetric",
            "matchOrigin",
            "matchRouteType",
            "matchTag",
            "matchVrf",
            "setAggregatorAs",
            "setAggregatorIp",
            "setAspathAction",
            "setAtomicAggregate",
            "setCommunityAdditive",
            "setCommunityDelete",
            "setDampeningMaxSuppress",
            "setDampeningReachabilityHalfLife",
            "setDampeningReuse",
            "setDampeningSuppress",
            "setDampeningUnreachabilityHalfLife",
            "setFlags",
            "setIp6Nexthop",
            "setIp6NexthopLocal",
            "setIpNexthop",
            "setIpPrefsrc",
            "setLocalPreference",
            "setMetric",
            "setMetricType",
            "setOrigin",
            "setOriginatorId",
            "setPriority",
            "setRouteTag",
            "setTag",
            "setVpnv4Nexthop",
            "setVpnv6Nexthop",
            "setVpnv6NexthopLocal",
            "setWeight"
          ]
        }
      }
    },
    "fortios:router/RoutemapRuleSetAspath:RoutemapRuleSetAspath": {
      "properties": {
        "as": {
          "type": "string",
          "description": "AS number. Use quotes for repeating numbers, For example, \"1 1 2\". On FortiOS versions 6.2.0-7.0.0: 0 - 42949672. On FortiOS versions 7.0.1-7.0.3: 0 - 4294967295.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "as"
          ]
        }
      }
    },
    "fortios:router/RoutemapRuleSetCommunity:RoutemapRuleSetCommunity": {
      "properties": {
        "community": {
          "type": "string",
          "description": "Attribute: AA|AA:NN|internet|local-AS|no-advertise|no-export.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "community"
          ]
        }
      }
    },
    "fortios:router/RoutemapRuleSetExtcommunityRt:RoutemapRuleSetExtcommunityRt": {
      "properties": {
        "community": {
          "type": "string",
          "description": "AA:NN.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "community"
          ]
        }
      }
    },
    "fortios:router/RoutemapRuleSetExtcommunitySoo:RoutemapRuleSetExtcommunitySoo": {
      "properties": {
        "community": {
          "type": "string",
          "description": "Community (format = AA:NN).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "community"
          ]
        }
      }
    },
    "fortios:router/Static6SdwanZone:Static6SdwanZone": {
      "properties": {
        "name": {
          "type": "string",
          "description": "SD-WAN zone name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/StaticSdwanZone:StaticSdwanZone": {
      "properties": {
        "name": {
          "type": "string",
          "description": "SD-WAN zone name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:router/bgp/NeighborConditionalAdvertise6:NeighborConditionalAdvertise6": {
      "properties": {
        "advertiseRoutemap": {
          "type": "string"
        },
        "conditionRoutemap": {
          "type": "string"
        },
        "conditionType": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "advertiseRoutemap",
            "conditionRoutemap",
            "conditionType"
          ]
        }
      }
    },
    "fortios:router/bgp/NeighborConditionalAdvertise:NeighborConditionalAdvertise": {
      "properties": {
        "advertiseRoutemap": {
          "type": "string",
          "description": "Name of advertising route map.\n"
        },
        "conditionRoutemap": {
          "type": "string",
          "description": "Name of condition route map.\n"
        },
        "conditionType": {
          "type": "string",
          "description": "Type of condition. Valid values: `exist`, `non-exist`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "advertiseRoutemap",
            "conditionRoutemap",
            "conditionType"
          ]
        }
      }
    },
    "fortios:router/bgp/getNeighborConditionalAdvertise6:getNeighborConditionalAdvertise6": {
      "properties": {
        "advertiseRoutemap": {
          "type": "string",
          "description": "Name of advertising route map.\n"
        },
        "conditionRoutemap": {
          "type": "string",
          "description": "Name of condition route map.\n"
        },
        "conditionType": {
          "type": "string",
          "description": "Type of condition.\n"
        }
      },
      "type": "object",
      "required": [
        "advertiseRoutemap",
        "conditionRoutemap",
        "conditionType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/bgp/getNeighborConditionalAdvertise:getNeighborConditionalAdvertise": {
      "properties": {
        "advertiseRoutemap": {
          "type": "string",
          "description": "Name of advertising route map.\n"
        },
        "conditionRoutemap": {
          "type": "string",
          "description": "Name of condition route map.\n"
        },
        "conditionType": {
          "type": "string",
          "description": "Type of condition.\n"
        }
      },
      "type": "object",
      "required": [
        "advertiseRoutemap",
        "conditionRoutemap",
        "conditionType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getAccesslist6Rule:getAccesslist6Rule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny this IP address and netmask prefix.\n"
        },
        "exactMatch": {
          "type": "string",
          "description": "Enable/disable exact prefix match.\n"
        },
        "flags": {
          "type": "integer",
          "description": "Flags.\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "IPv6 prefix to define regular filter criteria, such as \"any\" or subnets.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "exactMatch",
        "flags",
        "id",
        "prefix6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getAccesslistRule:getAccesslistRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny this IP address and netmask prefix.\n"
        },
        "exactMatch": {
          "type": "string",
          "description": "Enable/disable exact match.\n"
        },
        "flags": {
          "type": "integer",
          "description": "Flags.\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "IPv4 prefix to define regular filter criteria, such as \"any\" or subnets.\n"
        },
        "wildcard": {
          "type": "string",
          "description": "Wildcard to define Cisco-style wildcard filter criteria.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "exactMatch",
        "flags",
        "id",
        "prefix",
        "wildcard"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getAspathlistRule:getAspathlistRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny route-based operations, based on the route's AS_PATH attribute.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "regexp": {
          "type": "string",
          "description": "Regular-expression to match the Border Gateway Protocol (BGP) AS paths.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "id",
        "regexp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBfd6MultihopTemplate:getBfd6MultihopTemplate": {
      "properties": {
        "authMode": {
          "type": "string",
          "description": "Authentication mode.\n"
        },
        "bfdDesiredMinTx": {
          "type": "integer",
          "description": "BFD desired minimal transmit interval (milliseconds).\n"
        },
        "bfdDetectMult": {
          "type": "integer",
          "description": "BFD detection multiplier.\n"
        },
        "bfdRequiredMinRx": {
          "type": "integer",
          "description": "BFD required minimal receive interval (milliseconds).\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination prefix.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "md5Key": {
          "type": "string",
          "description": "MD5 key of key ID 1.\n",
          "secret": true
        },
        "src": {
          "type": "string",
          "description": "Source prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "authMode",
        "bfdDesiredMinTx",
        "bfdDetectMult",
        "bfdRequiredMinRx",
        "dst",
        "id",
        "md5Key",
        "src"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBfd6Neighbor:getBfd6Neighbor": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface to the BFD neighbor.\n"
        },
        "ip6Address": {
          "type": "string",
          "description": "IPv6 address of the BFD neighbor.\n"
        }
      },
      "type": "object",
      "required": [
        "interface",
        "ip6Address"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBfdMultihopTemplate:getBfdMultihopTemplate": {
      "properties": {
        "authMode": {
          "type": "string",
          "description": "Authentication mode.\n"
        },
        "bfdDesiredMinTx": {
          "type": "integer",
          "description": "BFD desired minimal transmit interval (milliseconds).\n"
        },
        "bfdDetectMult": {
          "type": "integer",
          "description": "BFD detection multiplier.\n"
        },
        "bfdRequiredMinRx": {
          "type": "integer",
          "description": "BFD required minimal receive interval (milliseconds).\n"
        },
        "dst": {
          "type": "string",
          "description": "Destination prefix.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "md5Key": {
          "type": "string",
          "description": "MD5 key of key ID 1.\n",
          "secret": true
        },
        "src": {
          "type": "string",
          "description": "Source prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "authMode",
        "bfdDesiredMinTx",
        "bfdDetectMult",
        "bfdRequiredMinRx",
        "dst",
        "id",
        "md5Key",
        "src"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBfdNeighbor:getBfdNeighbor": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the BFD neighbor.\n"
        }
      },
      "type": "object",
      "required": [
        "interface",
        "ip"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpAdminDistance:getBgpAdminDistance": {
      "properties": {
        "distance": {
          "type": "integer",
          "description": "Administrative distance to apply (1 - 255).\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "neighbourPrefix": {
          "type": "string",
          "description": "Neighbor address prefix.\n"
        },
        "routeList": {
          "type": "string",
          "description": "Access list of routes to apply new distance to.\n"
        }
      },
      "type": "object",
      "required": [
        "distance",
        "id",
        "neighbourPrefix",
        "routeList"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpAggregateAddress6:getBgpAggregateAddress6": {
      "properties": {
        "asSet": {
          "type": "string",
          "description": "Enable/disable generate AS set path information.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "Network IPv6 prefix.\n"
        },
        "summaryOnly": {
          "type": "string",
          "description": "Enable/disable filter more specific routes from updates.\n"
        }
      },
      "type": "object",
      "required": [
        "asSet",
        "id",
        "prefix6",
        "summaryOnly"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpAggregateAddress:getBgpAggregateAddress": {
      "properties": {
        "asSet": {
          "type": "string",
          "description": "Enable/disable generate AS set path information.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Network prefix.\n"
        },
        "summaryOnly": {
          "type": "string",
          "description": "Enable/disable filter more specific routes from updates.\n"
        }
      },
      "type": "object",
      "required": [
        "asSet",
        "id",
        "prefix",
        "summaryOnly"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpConfederationPeer:getBgpConfederationPeer": {
      "properties": {
        "peer": {
          "type": "string",
          "description": "Peer ID.\n"
        }
      },
      "type": "object",
      "required": [
        "peer"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpNeighbor:getBgpNeighbor": {
      "properties": {
        "activate": {
          "type": "string",
          "description": "Enable/disable address family IPv4 for this neighbor.\n"
        },
        "activate6": {
          "type": "string",
          "description": "Enable/disable address family IPv6 for this neighbor.\n"
        },
        "activateEvpn": {
          "type": "string",
          "description": "Enable/disable address family L2VPN EVPN for this neighbor.\n"
        },
        "activateVpnv4": {
          "type": "string",
          "description": "Enable/disable address family VPNv4 for this neighbor.\n"
        },
        "activateVpnv6": {
          "type": "string",
          "description": "Enable/disable address family VPNv6 for this neighbor.\n"
        },
        "additionalPath": {
          "type": "string",
          "description": "Enable/disable IPv4 additional-path capability.\n"
        },
        "additionalPath6": {
          "type": "string",
          "description": "Enable/disable IPv6 additional-path capability.\n"
        },
        "additionalPathVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 additional-path capability.\n"
        },
        "additionalPathVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 additional-path capability.\n"
        },
        "advAdditionalPath": {
          "type": "integer",
          "description": "Number of IPv4 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPath6": {
          "type": "integer",
          "description": "Number of IPv6 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPathVpnv4": {
          "type": "integer",
          "description": "Number of VPNv4 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPathVpnv6": {
          "type": "integer",
          "description": "Number of VPNv6 additional paths that can be advertised to this neighbor.\n"
        },
        "advertisementInterval": {
          "type": "integer",
          "description": "Minimum interval (sec) between sending updates.\n"
        },
        "allowasIn": {
          "type": "integer",
          "description": "IPv4 The maximum number of occurrence of my AS number allowed.\n"
        },
        "allowasIn6": {
          "type": "integer",
          "description": "IPv6 The maximum number of occurrence of my AS number allowed.\n"
        },
        "allowasInEnable": {
          "type": "string",
          "description": "Enable/disable IPv4 Enable to allow my AS in AS path.\n"
        },
        "allowasInEnable6": {
          "type": "string",
          "description": "Enable/disable IPv6 Enable to allow my AS in AS path.\n"
        },
        "allowasInEnableEvpn": {
          "type": "string",
          "description": "Enable/disable to allow my AS in AS path for L2VPN EVPN route.\n"
        },
        "allowasInEnableVpnv4": {
          "type": "string",
          "description": "Enable/disable to allow my AS in AS path for VPNv4 route.\n"
        },
        "allowasInEnableVpnv6": {
          "type": "string",
          "description": "Enable/disable use of my AS in AS path for VPNv6 route.\n"
        },
        "allowasInEvpn": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for L2VPN EVPN route.\n"
        },
        "allowasInVpnv4": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for VPNv4 route.\n"
        },
        "allowasInVpnv6": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for VPNv6 route.\n"
        },
        "asOverride": {
          "type": "string",
          "description": "Enable/disable replace peer AS with own AS for IPv4.\n"
        },
        "asOverride6": {
          "type": "string",
          "description": "Enable/disable replace peer AS with own AS for IPv6.\n"
        },
        "attributeUnchanged": {
          "type": "string",
          "description": "IPv4 List of attributes that should be unchanged.\n"
        },
        "attributeUnchanged6": {
          "type": "string",
          "description": "IPv6 List of attributes that should be unchanged.\n"
        },
        "attributeUnchangedVpnv4": {
          "type": "string",
          "description": "List of attributes that should be unchanged for VPNv4 route.\n"
        },
        "attributeUnchangedVpnv6": {
          "type": "string",
          "description": "List of attributes that should not be changed for VPNv6 route.\n"
        },
        "authOptions": {
          "type": "string",
          "description": "Key-chain name for TCP authentication options.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable BFD for this neighbor.\n"
        },
        "capabilityDefaultOriginate": {
          "type": "string",
          "description": "Enable/disable advertise default IPv4 route to this neighbor.\n"
        },
        "capabilityDefaultOriginate6": {
          "type": "string",
          "description": "Enable/disable advertise default IPv6 route to this neighbor.\n"
        },
        "capabilityDynamic": {
          "type": "string",
          "description": "Enable/disable advertise dynamic capability to this neighbor.\n"
        },
        "capabilityGracefulRestart": {
          "type": "string",
          "description": "Enable/disable advertise IPv4 graceful restart capability to this neighbor.\n"
        },
        "capabilityGracefulRestart6": {
          "type": "string",
          "description": "Enable/disable advertise IPv6 graceful restart capability to this neighbor.\n"
        },
        "capabilityGracefulRestartEvpn": {
          "type": "string",
          "description": "Enable/disable advertisement of L2VPN EVPN graceful restart capability to this neighbor.\n"
        },
        "capabilityGracefulRestartVpnv4": {
          "type": "string",
          "description": "Enable/disable advertise VPNv4 graceful restart capability to this neighbor.\n"
        },
        "capabilityGracefulRestartVpnv6": {
          "type": "string",
          "description": "Enable/disable advertisement of VPNv6 graceful restart capability to this neighbor.\n"
        },
        "capabilityOrf": {
          "type": "string",
          "description": "Accept/Send IPv4 ORF lists to/from this neighbor.\n"
        },
        "capabilityOrf6": {
          "type": "string",
          "description": "Accept/Send IPv6 ORF lists to/from this neighbor.\n"
        },
        "capabilityRouteRefresh": {
          "type": "string",
          "description": "Enable/disable advertise route refresh capability to this neighbor.\n"
        },
        "conditionalAdvertise6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetBgpNeighborConditionalAdvertise6:getBgpNeighborConditionalAdvertise6"
          },
          "description": "IPv6 conditional advertisement. The structure of `conditional_advertise6` block is documented below.\n"
        },
        "conditionalAdvertises": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetBgpNeighborConditionalAdvertise:getBgpNeighborConditionalAdvertise"
          },
          "description": "Conditional advertisement. The structure of `conditional_advertise` block is documented below.\n"
        },
        "connectTimer": {
          "type": "integer",
          "description": "Interval (sec) for connect timer.\n"
        },
        "defaultOriginateRoutemap": {
          "type": "string",
          "description": "Route map to specify criteria to originate IPv4 default.\n"
        },
        "defaultOriginateRoutemap6": {
          "type": "string",
          "description": "Route map to specify criteria to originate IPv6 default.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "distributeListIn": {
          "type": "string",
          "description": "Filter for IPv4 updates from this neighbor.\n"
        },
        "distributeListIn6": {
          "type": "string",
          "description": "Filter for IPv6 updates from this neighbor.\n"
        },
        "distributeListInVpnv4": {
          "type": "string",
          "description": "Filter for VPNv4 updates from this neighbor.\n"
        },
        "distributeListInVpnv6": {
          "type": "string",
          "description": "Filter for VPNv6 updates from this neighbor.\n"
        },
        "distributeListOut": {
          "type": "string",
          "description": "Filter for IPv4 updates to this neighbor.\n"
        },
        "distributeListOut6": {
          "type": "string",
          "description": "Filter for IPv6 updates to this neighbor.\n"
        },
        "distributeListOutVpnv4": {
          "type": "string",
          "description": "Filter for VPNv4 updates to this neighbor.\n"
        },
        "distributeListOutVpnv6": {
          "type": "string",
          "description": "Filter for VPNv6 updates to this neighbor.\n"
        },
        "dontCapabilityNegotiate": {
          "type": "string",
          "description": "Don't negotiate capabilities with this neighbor\n"
        },
        "ebgpEnforceMultihop": {
          "type": "string",
          "description": "Enable/disable allow multi-hop EBGP neighbors.\n"
        },
        "ebgpMultihopTtl": {
          "type": "integer",
          "description": "EBGP multihop TTL for this peer.\n"
        },
        "filterListIn": {
          "type": "string",
          "description": "BGP filter for IPv4 inbound routes.\n"
        },
        "filterListIn6": {
          "type": "string",
          "description": "BGP filter for IPv6 inbound routes.\n"
        },
        "filterListInVpnv4": {
          "type": "string",
          "description": "BGP filter for VPNv4 inbound routes.\n"
        },
        "filterListInVpnv6": {
          "type": "string",
          "description": "BGP filter for VPNv6 inbound routes.\n"
        },
        "filterListOut": {
          "type": "string",
          "description": "BGP filter for IPv4 outbound routes.\n"
        },
        "filterListOut6": {
          "type": "string",
          "description": "BGP filter for IPv6 outbound routes.\n"
        },
        "filterListOutVpnv4": {
          "type": "string",
          "description": "BGP filter for VPNv4 outbound routes.\n"
        },
        "filterListOutVpnv6": {
          "type": "string",
          "description": "BGP filter for VPNv6 outbound routes.\n"
        },
        "holdtimeTimer": {
          "type": "integer",
          "description": "Interval (sec) before peer considered dead.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface which is used to leak routes to target VRF.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP/IPv6 address of neighbor.\n"
        },
        "keepAliveTimer": {
          "type": "integer",
          "description": "Keep alive timer interval (sec).\n"
        },
        "linkDownFailover": {
          "type": "string",
          "description": "Enable/disable failover upon link down.\n"
        },
        "localAs": {
          "type": "integer",
          "description": "Local AS number of neighbor.\n"
        },
        "localAsNoPrepend": {
          "type": "string",
          "description": "Do not prepend local-as to incoming updates.\n"
        },
        "localAsReplaceAs": {
          "type": "string",
          "description": "Replace real AS with local-as in outgoing updates.\n"
        },
        "maximumPrefix": {
          "type": "integer",
          "description": "Maximum number of IPv4 prefixes to accept from this peer.\n"
        },
        "maximumPrefix6": {
          "type": "integer",
          "description": "Maximum number of IPv6 prefixes to accept from this peer.\n"
        },
        "maximumPrefixEvpn": {
          "type": "integer",
          "description": "Maximum number of L2VPN EVPN prefixes to accept from this peer.\n"
        },
        "maximumPrefixThreshold": {
          "type": "integer",
          "description": "Maximum IPv4 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThreshold6": {
          "type": "integer",
          "description": "Maximum IPv6 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdEvpn": {
          "type": "integer",
          "description": "Maximum L2VPN EVPN prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdVpnv4": {
          "type": "integer",
          "description": "Maximum VPNv4 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdVpnv6": {
          "type": "integer",
          "description": "Maximum VPNv6 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixVpnv4": {
          "type": "integer",
          "description": "Maximum number of VPNv4 prefixes to accept from this peer.\n"
        },
        "maximumPrefixVpnv6": {
          "type": "integer",
          "description": "Maximum number of VPNv6 prefixes to accept from this peer.\n"
        },
        "maximumPrefixWarningOnly": {
          "type": "string",
          "description": "Enable/disable IPv4 Only give warning message when limit is exceeded.\n"
        },
        "maximumPrefixWarningOnly6": {
          "type": "string",
          "description": "Enable/disable IPv6 Only give warning message when limit is exceeded.\n"
        },
        "maximumPrefixWarningOnlyEvpn": {
          "type": "string",
          "description": "Enable/disable only sending warning message when exceeding limit of L2VPN EVPN routes.\n"
        },
        "maximumPrefixWarningOnlyVpnv4": {
          "type": "string",
          "description": "Enable/disable only giving warning message when limit is exceeded for VPNv4 routes.\n"
        },
        "maximumPrefixWarningOnlyVpnv6": {
          "type": "string",
          "description": "Enable/disable warning message when limit is exceeded for VPNv6 routes.\n"
        },
        "nextHopSelf": {
          "type": "string",
          "description": "Enable/disable IPv4 next-hop calculation for this neighbor.\n"
        },
        "nextHopSelf6": {
          "type": "string",
          "description": "Enable/disable IPv6 next-hop calculation for this neighbor.\n"
        },
        "nextHopSelfRr": {
          "type": "string",
          "description": "Enable/disable setting nexthop's address to interface's IPv4 address for route-reflector routes.\n"
        },
        "nextHopSelfRr6": {
          "type": "string",
          "description": "Enable/disable setting nexthop's address to interface's IPv6 address for route-reflector routes.\n"
        },
        "nextHopSelfVpnv4": {
          "type": "string",
          "description": "Enable/disable setting VPNv4 next-hop to interface's IP address for this neighbor.\n"
        },
        "nextHopSelfVpnv6": {
          "type": "string",
          "description": "Enable/disable use of outgoing interface's IP address as VPNv6 next-hop for this neighbor.\n"
        },
        "overrideCapability": {
          "type": "string",
          "description": "Enable/disable override result of capability negotiation.\n"
        },
        "passive": {
          "type": "string",
          "description": "Enable/disable sending of open messages to this neighbor.\n"
        },
        "password": {
          "type": "string",
          "description": "Password used in MD5 authentication.\n",
          "secret": true
        },
        "prefixListIn": {
          "type": "string",
          "description": "IPv4 Inbound filter for updates from this neighbor.\n"
        },
        "prefixListIn6": {
          "type": "string",
          "description": "IPv6 Inbound filter for updates from this neighbor.\n"
        },
        "prefixListInVpnv4": {
          "type": "string",
          "description": "Inbound filter for VPNv4 updates from this neighbor.\n"
        },
        "prefixListInVpnv6": {
          "type": "string",
          "description": "Inbound filter for VPNv6 updates from this neighbor.\n"
        },
        "prefixListOut": {
          "type": "string",
          "description": "IPv4 Outbound filter for updates to this neighbor.\n"
        },
        "prefixListOut6": {
          "type": "string",
          "description": "IPv6 Outbound filter for updates to this neighbor.\n"
        },
        "prefixListOutVpnv4": {
          "type": "string",
          "description": "Outbound filter for VPNv4 updates to this neighbor.\n"
        },
        "prefixListOutVpnv6": {
          "type": "string",
          "description": "Outbound filter for VPNv6 updates to this neighbor.\n"
        },
        "remoteAs": {
          "type": "integer",
          "description": "AS number of neighbor.\n"
        },
        "removePrivateAs": {
          "type": "string",
          "description": "Enable/disable remove private AS number from IPv4 outbound updates.\n"
        },
        "removePrivateAs6": {
          "type": "string",
          "description": "Enable/disable remove private AS number from IPv6 outbound updates.\n"
        },
        "removePrivateAsEvpn": {
          "type": "string",
          "description": "Enable/disable removing private AS number from L2VPN EVPN outbound updates.\n"
        },
        "removePrivateAsVpnv4": {
          "type": "string",
          "description": "Enable/disable remove private AS number from VPNv4 outbound updates.\n"
        },
        "removePrivateAsVpnv6": {
          "type": "string",
          "description": "Enable/disable to remove private AS number from VPNv6 outbound updates.\n"
        },
        "restartTime": {
          "type": "integer",
          "description": "Graceful restart delay time (sec, 0 = global default).\n"
        },
        "retainStaleTime": {
          "type": "integer",
          "description": "Time to retain stale routes.\n"
        },
        "routeMapIn": {
          "type": "string",
          "description": "IPv4 Inbound route map filter.\n"
        },
        "routeMapIn6": {
          "type": "string",
          "description": "IPv6 Inbound route map filter.\n"
        },
        "routeMapInEvpn": {
          "type": "string",
          "description": "L2VPN EVPN inbound route map filter.\n"
        },
        "routeMapInVpnv4": {
          "type": "string",
          "description": "VPNv4 inbound route map filter.\n"
        },
        "routeMapInVpnv6": {
          "type": "string",
          "description": "VPNv6 inbound route map filter.\n"
        },
        "routeMapOut": {
          "type": "string",
          "description": "IPv4 Outbound route map filter.\n"
        },
        "routeMapOut6": {
          "type": "string",
          "description": "IPv6 Outbound route map filter.\n"
        },
        "routeMapOut6Preferable": {
          "type": "string",
          "description": "IPv6 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutEvpn": {
          "type": "string",
          "description": "L2VPN EVPN outbound route map filter.\n"
        },
        "routeMapOutPreferable": {
          "type": "string",
          "description": "IPv4 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutVpnv4": {
          "type": "string",
          "description": "VPNv4 outbound route map filter.\n"
        },
        "routeMapOutVpnv4Preferable": {
          "type": "string",
          "description": "VPNv4 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutVpnv6": {
          "type": "string",
          "description": "VPNv6 outbound route map filter.\n"
        },
        "routeMapOutVpnv6Preferable": {
          "type": "string",
          "description": "VPNv6 outbound route map filter if this neighbor is preferred.\n"
        },
        "routeReflectorClient": {
          "type": "string",
          "description": "Enable/disable IPv4 AS route reflector client.\n"
        },
        "routeReflectorClient6": {
          "type": "string",
          "description": "Enable/disable IPv6 AS route reflector client.\n"
        },
        "routeReflectorClientEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN AS route reflector client for this neighbor.\n"
        },
        "routeReflectorClientVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 AS route reflector client for this neighbor.\n"
        },
        "routeReflectorClientVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 AS route reflector client for this neighbor.\n"
        },
        "routeServerClient": {
          "type": "string",
          "description": "Enable/disable IPv4 AS route server client.\n"
        },
        "routeServerClient6": {
          "type": "string",
          "description": "Enable/disable IPv6 AS route server client.\n"
        },
        "routeServerClientEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN AS route server client for this neighbor.\n"
        },
        "routeServerClientVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 AS route server client for this neighbor.\n"
        },
        "routeServerClientVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 AS route server client for this neighbor.\n"
        },
        "sendCommunity": {
          "type": "string",
          "description": "IPv4 Send community attribute to neighbor.\n"
        },
        "sendCommunity6": {
          "type": "string",
          "description": "IPv6 Send community attribute to neighbor.\n"
        },
        "sendCommunityEvpn": {
          "type": "string",
          "description": "Enable/disable sending community attribute to neighbor for L2VPN EVPN address family.\n"
        },
        "sendCommunityVpnv4": {
          "type": "string",
          "description": "Send community attribute to neighbor for VPNv4 address family.\n"
        },
        "sendCommunityVpnv6": {
          "type": "string",
          "description": "Enable/disable sending community attribute to this neighbor for VPNv6 address family.\n"
        },
        "shutdown": {
          "type": "string",
          "description": "Enable/disable shutdown this neighbor.\n"
        },
        "softReconfiguration": {
          "type": "string",
          "description": "Enable/disable allow IPv4 inbound soft reconfiguration.\n"
        },
        "softReconfiguration6": {
          "type": "string",
          "description": "Enable/disable allow IPv6 inbound soft reconfiguration.\n"
        },
        "softReconfigurationEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN inbound soft reconfiguration.\n"
        },
        "softReconfigurationVpnv4": {
          "type": "string",
          "description": "Enable/disable allow VPNv4 inbound soft reconfiguration.\n"
        },
        "softReconfigurationVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 inbound soft reconfiguration.\n"
        },
        "staleRoute": {
          "type": "string",
          "description": "Enable/disable stale route after neighbor down.\n"
        },
        "strictCapabilityMatch": {
          "type": "string",
          "description": "Enable/disable strict capability matching.\n"
        },
        "unsuppressMap": {
          "type": "string",
          "description": "IPv4 Route map to selectively unsuppress suppressed routes.\n"
        },
        "unsuppressMap6": {
          "type": "string",
          "description": "IPv6 Route map to selectively unsuppress suppressed routes.\n"
        },
        "updateSource": {
          "type": "string",
          "description": "Interface to use as source IP/IPv6 address of TCP connections.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Neighbor weight.\n"
        }
      },
      "type": "object",
      "required": [
        "activate",
        "activate6",
        "activateEvpn",
        "activateVpnv4",
        "activateVpnv6",
        "additionalPath",
        "additionalPath6",
        "additionalPathVpnv4",
        "additionalPathVpnv6",
        "advAdditionalPath",
        "advAdditionalPath6",
        "advAdditionalPathVpnv4",
        "advAdditionalPathVpnv6",
        "advertisementInterval",
        "allowasIn",
        "allowasIn6",
        "allowasInEnable",
        "allowasInEnable6",
        "allowasInEnableEvpn",
        "allowasInEnableVpnv4",
        "allowasInEnableVpnv6",
        "allowasInEvpn",
        "allowasInVpnv4",
        "allowasInVpnv6",
        "asOverride",
        "asOverride6",
        "attributeUnchanged",
        "attributeUnchanged6",
        "attributeUnchangedVpnv4",
        "attributeUnchangedVpnv6",
        "authOptions",
        "bfd",
        "capabilityDefaultOriginate",
        "capabilityDefaultOriginate6",
        "capabilityDynamic",
        "capabilityGracefulRestart",
        "capabilityGracefulRestart6",
        "capabilityGracefulRestartEvpn",
        "capabilityGracefulRestartVpnv4",
        "capabilityGracefulRestartVpnv6",
        "capabilityOrf",
        "capabilityOrf6",
        "capabilityRouteRefresh",
        "conditionalAdvertise6s",
        "conditionalAdvertises",
        "connectTimer",
        "defaultOriginateRoutemap",
        "defaultOriginateRoutemap6",
        "description",
        "distributeListIn",
        "distributeListIn6",
        "distributeListInVpnv4",
        "distributeListInVpnv6",
        "distributeListOut",
        "distributeListOut6",
        "distributeListOutVpnv4",
        "distributeListOutVpnv6",
        "dontCapabilityNegotiate",
        "ebgpEnforceMultihop",
        "ebgpMultihopTtl",
        "filterListIn",
        "filterListIn6",
        "filterListInVpnv4",
        "filterListInVpnv6",
        "filterListOut",
        "filterListOut6",
        "filterListOutVpnv4",
        "filterListOutVpnv6",
        "holdtimeTimer",
        "interface",
        "ip",
        "keepAliveTimer",
        "linkDownFailover",
        "localAs",
        "localAsNoPrepend",
        "localAsReplaceAs",
        "maximumPrefix",
        "maximumPrefix6",
        "maximumPrefixEvpn",
        "maximumPrefixThreshold",
        "maximumPrefixThreshold6",
        "maximumPrefixThresholdEvpn",
        "maximumPrefixThresholdVpnv4",
        "maximumPrefixThresholdVpnv6",
        "maximumPrefixVpnv4",
        "maximumPrefixVpnv6",
        "maximumPrefixWarningOnly",
        "maximumPrefixWarningOnly6",
        "maximumPrefixWarningOnlyEvpn",
        "maximumPrefixWarningOnlyVpnv4",
        "maximumPrefixWarningOnlyVpnv6",
        "nextHopSelf",
        "nextHopSelf6",
        "nextHopSelfRr",
        "nextHopSelfRr6",
        "nextHopSelfVpnv4",
        "nextHopSelfVpnv6",
        "overrideCapability",
        "passive",
        "password",
        "prefixListIn",
        "prefixListIn6",
        "prefixListInVpnv4",
        "prefixListInVpnv6",
        "prefixListOut",
        "prefixListOut6",
        "prefixListOutVpnv4",
        "prefixListOutVpnv6",
        "remoteAs",
        "removePrivateAs",
        "removePrivateAs6",
        "removePrivateAsEvpn",
        "removePrivateAsVpnv4",
        "removePrivateAsVpnv6",
        "restartTime",
        "retainStaleTime",
        "routeMapIn",
        "routeMapIn6",
        "routeMapInEvpn",
        "routeMapInVpnv4",
        "routeMapInVpnv6",
        "routeMapOut",
        "routeMapOut6",
        "routeMapOut6Preferable",
        "routeMapOutEvpn",
        "routeMapOutPreferable",
        "routeMapOutVpnv4",
        "routeMapOutVpnv4Preferable",
        "routeMapOutVpnv6",
        "routeMapOutVpnv6Preferable",
        "routeReflectorClient",
        "routeReflectorClient6",
        "routeReflectorClientEvpn",
        "routeReflectorClientVpnv4",
        "routeReflectorClientVpnv6",
        "routeServerClient",
        "routeServerClient6",
        "routeServerClientEvpn",
        "routeServerClientVpnv4",
        "routeServerClientVpnv6",
        "sendCommunity",
        "sendCommunity6",
        "sendCommunityEvpn",
        "sendCommunityVpnv4",
        "sendCommunityVpnv6",
        "shutdown",
        "softReconfiguration",
        "softReconfiguration6",
        "softReconfigurationEvpn",
        "softReconfigurationVpnv4",
        "softReconfigurationVpnv6",
        "staleRoute",
        "strictCapabilityMatch",
        "unsuppressMap",
        "unsuppressMap6",
        "updateSource",
        "weight"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpNeighborConditionalAdvertise6:getBgpNeighborConditionalAdvertise6": {
      "properties": {
        "advertiseRoutemap": {
          "type": "string",
          "description": "Name of advertising route map.\n"
        },
        "conditionRoutemap": {
          "type": "string",
          "description": "Name of condition route map.\n"
        },
        "conditionType": {
          "type": "string",
          "description": "Type of condition.\n"
        }
      },
      "type": "object",
      "required": [
        "advertiseRoutemap",
        "conditionRoutemap",
        "conditionType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpNeighborConditionalAdvertise:getBgpNeighborConditionalAdvertise": {
      "properties": {
        "advertiseRoutemap": {
          "type": "string",
          "description": "Name of advertising route map.\n"
        },
        "conditionRoutemap": {
          "type": "string",
          "description": "Name of condition route map.\n"
        },
        "conditionType": {
          "type": "string",
          "description": "Type of condition.\n"
        }
      },
      "type": "object",
      "required": [
        "advertiseRoutemap",
        "conditionRoutemap",
        "conditionType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpNeighborGroup:getBgpNeighborGroup": {
      "properties": {
        "activate": {
          "type": "string",
          "description": "Enable/disable address family IPv4 for this neighbor.\n"
        },
        "activate6": {
          "type": "string",
          "description": "Enable/disable address family IPv6 for this neighbor.\n"
        },
        "activateEvpn": {
          "type": "string",
          "description": "Enable/disable address family L2VPN EVPN for this neighbor.\n"
        },
        "activateVpnv4": {
          "type": "string",
          "description": "Enable/disable address family VPNv4 for this neighbor.\n"
        },
        "activateVpnv6": {
          "type": "string",
          "description": "Enable/disable address family VPNv6 for this neighbor.\n"
        },
        "additionalPath": {
          "type": "string",
          "description": "Enable/disable IPv4 additional-path capability.\n"
        },
        "additionalPath6": {
          "type": "string",
          "description": "Enable/disable IPv6 additional-path capability.\n"
        },
        "additionalPathVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 additional-path capability.\n"
        },
        "additionalPathVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 additional-path capability.\n"
        },
        "advAdditionalPath": {
          "type": "integer",
          "description": "Number of IPv4 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPath6": {
          "type": "integer",
          "description": "Number of IPv6 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPathVpnv4": {
          "type": "integer",
          "description": "Number of VPNv4 additional paths that can be advertised to this neighbor.\n"
        },
        "advAdditionalPathVpnv6": {
          "type": "integer",
          "description": "Number of VPNv6 additional paths that can be advertised to this neighbor.\n"
        },
        "advertisementInterval": {
          "type": "integer",
          "description": "Minimum interval (sec) between sending updates.\n"
        },
        "allowasIn": {
          "type": "integer",
          "description": "IPv4 The maximum number of occurrence of my AS number allowed.\n"
        },
        "allowasIn6": {
          "type": "integer",
          "description": "IPv6 The maximum number of occurrence of my AS number allowed.\n"
        },
        "allowasInEnable": {
          "type": "string",
          "description": "Enable/disable IPv4 Enable to allow my AS in AS path.\n"
        },
        "allowasInEnable6": {
          "type": "string",
          "description": "Enable/disable IPv6 Enable to allow my AS in AS path.\n"
        },
        "allowasInEnableEvpn": {
          "type": "string",
          "description": "Enable/disable to allow my AS in AS path for L2VPN EVPN route.\n"
        },
        "allowasInEnableVpnv4": {
          "type": "string",
          "description": "Enable/disable to allow my AS in AS path for VPNv4 route.\n"
        },
        "allowasInEnableVpnv6": {
          "type": "string",
          "description": "Enable/disable use of my AS in AS path for VPNv6 route.\n"
        },
        "allowasInEvpn": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for L2VPN EVPN route.\n"
        },
        "allowasInVpnv4": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for VPNv4 route.\n"
        },
        "allowasInVpnv6": {
          "type": "integer",
          "description": "The maximum number of occurrence of my AS number allowed for VPNv6 route.\n"
        },
        "asOverride": {
          "type": "string",
          "description": "Enable/disable replace peer AS with own AS for IPv4.\n"
        },
        "asOverride6": {
          "type": "string",
          "description": "Enable/disable replace peer AS with own AS for IPv6.\n"
        },
        "attributeUnchanged": {
          "type": "string",
          "description": "IPv4 List of attributes that should be unchanged.\n"
        },
        "attributeUnchanged6": {
          "type": "string",
          "description": "IPv6 List of attributes that should be unchanged.\n"
        },
        "attributeUnchangedVpnv4": {
          "type": "string",
          "description": "List of attributes that should be unchanged for VPNv4 route.\n"
        },
        "attributeUnchangedVpnv6": {
          "type": "string",
          "description": "List of attributes that should not be changed for VPNv6 route.\n"
        },
        "authOptions": {
          "type": "string",
          "description": "Key-chain name for TCP authentication options.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable BFD for this neighbor.\n"
        },
        "capabilityDefaultOriginate": {
          "type": "string",
          "description": "Enable/disable advertise default IPv4 route to this neighbor.\n"
        },
        "capabilityDefaultOriginate6": {
          "type": "string",
          "description": "Enable/disable advertise default IPv6 route to this neighbor.\n"
        },
        "capabilityDynamic": {
          "type": "string",
          "description": "Enable/disable advertise dynamic capability to this neighbor.\n"
        },
        "capabilityGracefulRestart": {
          "type": "string",
          "description": "Enable/disable advertise IPv4 graceful restart capability to this neighbor.\n"
        },
        "capabilityGracefulRestart6": {
          "type": "string",
          "description": "Enable/disable advertise IPv6 graceful restart capability to this neighbor.\n"
        },
        "capabilityGracefulRestartEvpn": {
          "type": "string",
          "description": "Enable/disable advertisement of L2VPN EVPN graceful restart capability to this neighbor.\n"
        },
        "capabilityGracefulRestartVpnv4": {
          "type": "string",
          "description": "Enable/disable advertise VPNv4 graceful restart capability to this neighbor.\n"
        },
        "capabilityGracefulRestartVpnv6": {
          "type": "string",
          "description": "Enable/disable advertisement of VPNv6 graceful restart capability to this neighbor.\n"
        },
        "capabilityOrf": {
          "type": "string",
          "description": "Accept/Send IPv4 ORF lists to/from this neighbor.\n"
        },
        "capabilityOrf6": {
          "type": "string",
          "description": "Accept/Send IPv6 ORF lists to/from this neighbor.\n"
        },
        "capabilityRouteRefresh": {
          "type": "string",
          "description": "Enable/disable advertise route refresh capability to this neighbor.\n"
        },
        "connectTimer": {
          "type": "integer",
          "description": "Interval (sec) for connect timer.\n"
        },
        "defaultOriginateRoutemap": {
          "type": "string",
          "description": "Route map to specify criteria to originate IPv4 default.\n"
        },
        "defaultOriginateRoutemap6": {
          "type": "string",
          "description": "Route map to specify criteria to originate IPv6 default.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "distributeListIn": {
          "type": "string",
          "description": "Filter for IPv4 updates from this neighbor.\n"
        },
        "distributeListIn6": {
          "type": "string",
          "description": "Filter for IPv6 updates from this neighbor.\n"
        },
        "distributeListInVpnv4": {
          "type": "string",
          "description": "Filter for VPNv4 updates from this neighbor.\n"
        },
        "distributeListInVpnv6": {
          "type": "string",
          "description": "Filter for VPNv6 updates from this neighbor.\n"
        },
        "distributeListOut": {
          "type": "string",
          "description": "Filter for IPv4 updates to this neighbor.\n"
        },
        "distributeListOut6": {
          "type": "string",
          "description": "Filter for IPv6 updates to this neighbor.\n"
        },
        "distributeListOutVpnv4": {
          "type": "string",
          "description": "Filter for VPNv4 updates to this neighbor.\n"
        },
        "distributeListOutVpnv6": {
          "type": "string",
          "description": "Filter for VPNv6 updates to this neighbor.\n"
        },
        "dontCapabilityNegotiate": {
          "type": "string",
          "description": "Don't negotiate capabilities with this neighbor\n"
        },
        "ebgpEnforceMultihop": {
          "type": "string",
          "description": "Enable/disable allow multi-hop EBGP neighbors.\n"
        },
        "ebgpMultihopTtl": {
          "type": "integer",
          "description": "EBGP multihop TTL for this peer.\n"
        },
        "filterListIn": {
          "type": "string",
          "description": "BGP filter for IPv4 inbound routes.\n"
        },
        "filterListIn6": {
          "type": "string",
          "description": "BGP filter for IPv6 inbound routes.\n"
        },
        "filterListInVpnv4": {
          "type": "string",
          "description": "BGP filter for VPNv4 inbound routes.\n"
        },
        "filterListInVpnv6": {
          "type": "string",
          "description": "BGP filter for VPNv6 inbound routes.\n"
        },
        "filterListOut": {
          "type": "string",
          "description": "BGP filter for IPv4 outbound routes.\n"
        },
        "filterListOut6": {
          "type": "string",
          "description": "BGP filter for IPv6 outbound routes.\n"
        },
        "filterListOutVpnv4": {
          "type": "string",
          "description": "BGP filter for VPNv4 outbound routes.\n"
        },
        "filterListOutVpnv6": {
          "type": "string",
          "description": "BGP filter for VPNv6 outbound routes.\n"
        },
        "holdtimeTimer": {
          "type": "integer",
          "description": "Interval (sec) before peer considered dead.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface which is used to leak routes to target VRF.\n"
        },
        "keepAliveTimer": {
          "type": "integer",
          "description": "Keep alive timer interval (sec).\n"
        },
        "linkDownFailover": {
          "type": "string",
          "description": "Enable/disable failover upon link down.\n"
        },
        "localAs": {
          "type": "integer",
          "description": "Local AS number of neighbor.\n"
        },
        "localAsNoPrepend": {
          "type": "string",
          "description": "Do not prepend local-as to incoming updates.\n"
        },
        "localAsReplaceAs": {
          "type": "string",
          "description": "Replace real AS with local-as in outgoing updates.\n"
        },
        "maximumPrefix": {
          "type": "integer",
          "description": "Maximum number of IPv4 prefixes to accept from this peer.\n"
        },
        "maximumPrefix6": {
          "type": "integer",
          "description": "Maximum number of IPv6 prefixes to accept from this peer.\n"
        },
        "maximumPrefixEvpn": {
          "type": "integer",
          "description": "Maximum number of L2VPN EVPN prefixes to accept from this peer.\n"
        },
        "maximumPrefixThreshold": {
          "type": "integer",
          "description": "Maximum IPv4 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThreshold6": {
          "type": "integer",
          "description": "Maximum IPv6 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdEvpn": {
          "type": "integer",
          "description": "Maximum L2VPN EVPN prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdVpnv4": {
          "type": "integer",
          "description": "Maximum VPNv4 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixThresholdVpnv6": {
          "type": "integer",
          "description": "Maximum VPNv6 prefix threshold value (1 - 100 percent).\n"
        },
        "maximumPrefixVpnv4": {
          "type": "integer",
          "description": "Maximum number of VPNv4 prefixes to accept from this peer.\n"
        },
        "maximumPrefixVpnv6": {
          "type": "integer",
          "description": "Maximum number of VPNv6 prefixes to accept from this peer.\n"
        },
        "maximumPrefixWarningOnly": {
          "type": "string",
          "description": "Enable/disable IPv4 Only give warning message when limit is exceeded.\n"
        },
        "maximumPrefixWarningOnly6": {
          "type": "string",
          "description": "Enable/disable IPv6 Only give warning message when limit is exceeded.\n"
        },
        "maximumPrefixWarningOnlyEvpn": {
          "type": "string",
          "description": "Enable/disable only sending warning message when exceeding limit of L2VPN EVPN routes.\n"
        },
        "maximumPrefixWarningOnlyVpnv4": {
          "type": "string",
          "description": "Enable/disable only giving warning message when limit is exceeded for VPNv4 routes.\n"
        },
        "maximumPrefixWarningOnlyVpnv6": {
          "type": "string",
          "description": "Enable/disable warning message when limit is exceeded for VPNv6 routes.\n"
        },
        "name": {
          "type": "string",
          "description": "Distribute list entry name.\n"
        },
        "nextHopSelf": {
          "type": "string",
          "description": "Enable/disable IPv4 next-hop calculation for this neighbor.\n"
        },
        "nextHopSelf6": {
          "type": "string",
          "description": "Enable/disable IPv6 next-hop calculation for this neighbor.\n"
        },
        "nextHopSelfRr": {
          "type": "string",
          "description": "Enable/disable setting nexthop's address to interface's IPv4 address for route-reflector routes.\n"
        },
        "nextHopSelfRr6": {
          "type": "string",
          "description": "Enable/disable setting nexthop's address to interface's IPv6 address for route-reflector routes.\n"
        },
        "nextHopSelfVpnv4": {
          "type": "string",
          "description": "Enable/disable setting VPNv4 next-hop to interface's IP address for this neighbor.\n"
        },
        "nextHopSelfVpnv6": {
          "type": "string",
          "description": "Enable/disable use of outgoing interface's IP address as VPNv6 next-hop for this neighbor.\n"
        },
        "overrideCapability": {
          "type": "string",
          "description": "Enable/disable override result of capability negotiation.\n"
        },
        "passive": {
          "type": "string",
          "description": "Enable/disable sending of open messages to this neighbor.\n"
        },
        "password": {
          "type": "string",
          "description": "Password used in MD5 authentication.\n",
          "secret": true
        },
        "prefixListIn": {
          "type": "string",
          "description": "IPv4 Inbound filter for updates from this neighbor.\n"
        },
        "prefixListIn6": {
          "type": "string",
          "description": "IPv6 Inbound filter for updates from this neighbor.\n"
        },
        "prefixListInVpnv4": {
          "type": "string",
          "description": "Inbound filter for VPNv4 updates from this neighbor.\n"
        },
        "prefixListInVpnv6": {
          "type": "string",
          "description": "Inbound filter for VPNv6 updates from this neighbor.\n"
        },
        "prefixListOut": {
          "type": "string",
          "description": "IPv4 Outbound filter for updates to this neighbor.\n"
        },
        "prefixListOut6": {
          "type": "string",
          "description": "IPv6 Outbound filter for updates to this neighbor.\n"
        },
        "prefixListOutVpnv4": {
          "type": "string",
          "description": "Outbound filter for VPNv4 updates to this neighbor.\n"
        },
        "prefixListOutVpnv6": {
          "type": "string",
          "description": "Outbound filter for VPNv6 updates to this neighbor.\n"
        },
        "remoteAs": {
          "type": "integer",
          "description": "AS number of neighbor.\n"
        },
        "remoteAsFilter": {
          "type": "string",
          "description": "BGP filter for remote AS.\n"
        },
        "removePrivateAs": {
          "type": "string",
          "description": "Enable/disable remove private AS number from IPv4 outbound updates.\n"
        },
        "removePrivateAs6": {
          "type": "string",
          "description": "Enable/disable remove private AS number from IPv6 outbound updates.\n"
        },
        "removePrivateAsEvpn": {
          "type": "string",
          "description": "Enable/disable removing private AS number from L2VPN EVPN outbound updates.\n"
        },
        "removePrivateAsVpnv4": {
          "type": "string",
          "description": "Enable/disable remove private AS number from VPNv4 outbound updates.\n"
        },
        "removePrivateAsVpnv6": {
          "type": "string",
          "description": "Enable/disable to remove private AS number from VPNv6 outbound updates.\n"
        },
        "restartTime": {
          "type": "integer",
          "description": "Graceful restart delay time (sec, 0 = global default).\n"
        },
        "retainStaleTime": {
          "type": "integer",
          "description": "Time to retain stale routes.\n"
        },
        "routeMapIn": {
          "type": "string",
          "description": "IPv4 Inbound route map filter.\n"
        },
        "routeMapIn6": {
          "type": "string",
          "description": "IPv6 Inbound route map filter.\n"
        },
        "routeMapInEvpn": {
          "type": "string",
          "description": "L2VPN EVPN inbound route map filter.\n"
        },
        "routeMapInVpnv4": {
          "type": "string",
          "description": "VPNv4 inbound route map filter.\n"
        },
        "routeMapInVpnv6": {
          "type": "string",
          "description": "VPNv6 inbound route map filter.\n"
        },
        "routeMapOut": {
          "type": "string",
          "description": "IPv4 Outbound route map filter.\n"
        },
        "routeMapOut6": {
          "type": "string",
          "description": "IPv6 Outbound route map filter.\n"
        },
        "routeMapOut6Preferable": {
          "type": "string",
          "description": "IPv6 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutEvpn": {
          "type": "string",
          "description": "L2VPN EVPN outbound route map filter.\n"
        },
        "routeMapOutPreferable": {
          "type": "string",
          "description": "IPv4 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutVpnv4": {
          "type": "string",
          "description": "VPNv4 outbound route map filter.\n"
        },
        "routeMapOutVpnv4Preferable": {
          "type": "string",
          "description": "VPNv4 outbound route map filter if the peer is preferred.\n"
        },
        "routeMapOutVpnv6": {
          "type": "string",
          "description": "VPNv6 outbound route map filter.\n"
        },
        "routeMapOutVpnv6Preferable": {
          "type": "string",
          "description": "VPNv6 outbound route map filter if this neighbor is preferred.\n"
        },
        "routeReflectorClient": {
          "type": "string",
          "description": "Enable/disable IPv4 AS route reflector client.\n"
        },
        "routeReflectorClient6": {
          "type": "string",
          "description": "Enable/disable IPv6 AS route reflector client.\n"
        },
        "routeReflectorClientEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN AS route reflector client for this neighbor.\n"
        },
        "routeReflectorClientVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 AS route reflector client for this neighbor.\n"
        },
        "routeReflectorClientVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 AS route reflector client for this neighbor.\n"
        },
        "routeServerClient": {
          "type": "string",
          "description": "Enable/disable IPv4 AS route server client.\n"
        },
        "routeServerClient6": {
          "type": "string",
          "description": "Enable/disable IPv6 AS route server client.\n"
        },
        "routeServerClientEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN AS route server client for this neighbor.\n"
        },
        "routeServerClientVpnv4": {
          "type": "string",
          "description": "Enable/disable VPNv4 AS route server client for this neighbor.\n"
        },
        "routeServerClientVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 AS route server client for this neighbor.\n"
        },
        "sendCommunity": {
          "type": "string",
          "description": "IPv4 Send community attribute to neighbor.\n"
        },
        "sendCommunity6": {
          "type": "string",
          "description": "IPv6 Send community attribute to neighbor.\n"
        },
        "sendCommunityEvpn": {
          "type": "string",
          "description": "Enable/disable sending community attribute to neighbor for L2VPN EVPN address family.\n"
        },
        "sendCommunityVpnv4": {
          "type": "string",
          "description": "Send community attribute to neighbor for VPNv4 address family.\n"
        },
        "sendCommunityVpnv6": {
          "type": "string",
          "description": "Enable/disable sending community attribute to this neighbor for VPNv6 address family.\n"
        },
        "shutdown": {
          "type": "string",
          "description": "Enable/disable shutdown this neighbor.\n"
        },
        "softReconfiguration": {
          "type": "string",
          "description": "Enable/disable allow IPv4 inbound soft reconfiguration.\n"
        },
        "softReconfiguration6": {
          "type": "string",
          "description": "Enable/disable allow IPv6 inbound soft reconfiguration.\n"
        },
        "softReconfigurationEvpn": {
          "type": "string",
          "description": "Enable/disable L2VPN EVPN inbound soft reconfiguration.\n"
        },
        "softReconfigurationVpnv4": {
          "type": "string",
          "description": "Enable/disable allow VPNv4 inbound soft reconfiguration.\n"
        },
        "softReconfigurationVpnv6": {
          "type": "string",
          "description": "Enable/disable VPNv6 inbound soft reconfiguration.\n"
        },
        "staleRoute": {
          "type": "string",
          "description": "Enable/disable stale route after neighbor down.\n"
        },
        "strictCapabilityMatch": {
          "type": "string",
          "description": "Enable/disable strict capability matching.\n"
        },
        "unsuppressMap": {
          "type": "string",
          "description": "IPv4 Route map to selectively unsuppress suppressed routes.\n"
        },
        "unsuppressMap6": {
          "type": "string",
          "description": "IPv6 Route map to selectively unsuppress suppressed routes.\n"
        },
        "updateSource": {
          "type": "string",
          "description": "Interface to use as source IP/IPv6 address of TCP connections.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Neighbor weight.\n"
        }
      },
      "type": "object",
      "required": [
        "activate",
        "activate6",
        "activateEvpn",
        "activateVpnv4",
        "activateVpnv6",
        "additionalPath",
        "additionalPath6",
        "additionalPathVpnv4",
        "additionalPathVpnv6",
        "advAdditionalPath",
        "advAdditionalPath6",
        "advAdditionalPathVpnv4",
        "advAdditionalPathVpnv6",
        "advertisementInterval",
        "allowasIn",
        "allowasIn6",
        "allowasInEnable",
        "allowasInEnable6",
        "allowasInEnableEvpn",
        "allowasInEnableVpnv4",
        "allowasInEnableVpnv6",
        "allowasInEvpn",
        "allowasInVpnv4",
        "allowasInVpnv6",
        "asOverride",
        "asOverride6",
        "attributeUnchanged",
        "attributeUnchanged6",
        "attributeUnchangedVpnv4",
        "attributeUnchangedVpnv6",
        "authOptions",
        "bfd",
        "capabilityDefaultOriginate",
        "capabilityDefaultOriginate6",
        "capabilityDynamic",
        "capabilityGracefulRestart",
        "capabilityGracefulRestart6",
        "capabilityGracefulRestartEvpn",
        "capabilityGracefulRestartVpnv4",
        "capabilityGracefulRestartVpnv6",
        "capabilityOrf",
        "capabilityOrf6",
        "capabilityRouteRefresh",
        "connectTimer",
        "defaultOriginateRoutemap",
        "defaultOriginateRoutemap6",
        "description",
        "distributeListIn",
        "distributeListIn6",
        "distributeListInVpnv4",
        "distributeListInVpnv6",
        "distributeListOut",
        "distributeListOut6",
        "distributeListOutVpnv4",
        "distributeListOutVpnv6",
        "dontCapabilityNegotiate",
        "ebgpEnforceMultihop",
        "ebgpMultihopTtl",
        "filterListIn",
        "filterListIn6",
        "filterListInVpnv4",
        "filterListInVpnv6",
        "filterListOut",
        "filterListOut6",
        "filterListOutVpnv4",
        "filterListOutVpnv6",
        "holdtimeTimer",
        "interface",
        "keepAliveTimer",
        "linkDownFailover",
        "localAs",
        "localAsNoPrepend",
        "localAsReplaceAs",
        "maximumPrefix",
        "maximumPrefix6",
        "maximumPrefixEvpn",
        "maximumPrefixThreshold",
        "maximumPrefixThreshold6",
        "maximumPrefixThresholdEvpn",
        "maximumPrefixThresholdVpnv4",
        "maximumPrefixThresholdVpnv6",
        "maximumPrefixVpnv4",
        "maximumPrefixVpnv6",
        "maximumPrefixWarningOnly",
        "maximumPrefixWarningOnly6",
        "maximumPrefixWarningOnlyEvpn",
        "maximumPrefixWarningOnlyVpnv4",
        "maximumPrefixWarningOnlyVpnv6",
        "name",
        "nextHopSelf",
        "nextHopSelf6",
        "nextHopSelfRr",
        "nextHopSelfRr6",
        "nextHopSelfVpnv4",
        "nextHopSelfVpnv6",
        "overrideCapability",
        "passive",
        "password",
        "prefixListIn",
        "prefixListIn6",
        "prefixListInVpnv4",
        "prefixListInVpnv6",
        "prefixListOut",
        "prefixListOut6",
        "prefixListOutVpnv4",
        "prefixListOutVpnv6",
        "remoteAs",
        "remoteAsFilter",
        "removePrivateAs",
        "removePrivateAs6",
        "removePrivateAsEvpn",
        "removePrivateAsVpnv4",
        "removePrivateAsVpnv6",
        "restartTime",
        "retainStaleTime",
        "routeMapIn",
        "routeMapIn6",
        "routeMapInEvpn",
        "routeMapInVpnv4",
        "routeMapInVpnv6",
        "routeMapOut",
        "routeMapOut6",
        "routeMapOut6Preferable",
        "routeMapOutEvpn",
        "routeMapOutPreferable",
        "routeMapOutVpnv4",
        "routeMapOutVpnv4Preferable",
        "routeMapOutVpnv6",
        "routeMapOutVpnv6Preferable",
        "routeReflectorClient",
        "routeReflectorClient6",
        "routeReflectorClientEvpn",
        "routeReflectorClientVpnv4",
        "routeReflectorClientVpnv6",
        "routeServerClient",
        "routeServerClient6",
        "routeServerClientEvpn",
        "routeServerClientVpnv4",
        "routeServerClientVpnv6",
        "sendCommunity",
        "sendCommunity6",
        "sendCommunityEvpn",
        "sendCommunityVpnv4",
        "sendCommunityVpnv6",
        "shutdown",
        "softReconfiguration",
        "softReconfiguration6",
        "softReconfigurationEvpn",
        "softReconfigurationVpnv4",
        "softReconfigurationVpnv6",
        "staleRoute",
        "strictCapabilityMatch",
        "unsuppressMap",
        "unsuppressMap6",
        "updateSource",
        "weight"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpNeighborRange6:getBgpNeighborRange6": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "maxNeighborNum": {
          "type": "integer",
          "description": "Maximum number of neighbors.\n"
        },
        "neighborGroup": {
          "type": "string",
          "description": "Neighbor group name.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "Network IPv6 prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "maxNeighborNum",
        "neighborGroup",
        "prefix6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpNeighborRange:getBgpNeighborRange": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "maxNeighborNum": {
          "type": "integer",
          "description": "Maximum number of neighbors.\n"
        },
        "neighborGroup": {
          "type": "string",
          "description": "Neighbor group name.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Network prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "maxNeighborNum",
        "neighborGroup",
        "prefix"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpNetwork6:getBgpNetwork6": {
      "properties": {
        "backdoor": {
          "type": "string",
          "description": "Enable/disable route as backdoor.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "networkImportCheck": {
          "type": "string",
          "description": "Configure insurance of BGP network route existence in IGP.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "Network IPv6 prefix.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map of VRF leaking.\n"
        }
      },
      "type": "object",
      "required": [
        "backdoor",
        "id",
        "networkImportCheck",
        "prefix6",
        "routeMap"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpNetwork:getBgpNetwork": {
      "properties": {
        "backdoor": {
          "type": "string",
          "description": "Enable/disable route as backdoor.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "networkImportCheck": {
          "type": "string",
          "description": "Configure insurance of BGP network route existence in IGP.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Network prefix.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map of VRF leaking.\n"
        }
      },
      "type": "object",
      "required": [
        "backdoor",
        "id",
        "networkImportCheck",
        "prefix",
        "routeMap"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpRedistribute6:getBgpRedistribute6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Distribute list entry name.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map of VRF leaking.\n"
        },
        "status": {
          "type": "string",
          "description": "Status\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "routeMap",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpRedistribute:getBgpRedistribute": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Distribute list entry name.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map of VRF leaking.\n"
        },
        "status": {
          "type": "string",
          "description": "Status\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "routeMap",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrf6:getBgpVrf6": {
      "properties": {
        "exportRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetBgpVrf6ExportRt:getBgpVrf6ExportRt"
          },
          "description": "List of export route target. The structure of `export_rt` block is documented below.\n"
        },
        "importRouteMap": {
          "type": "string",
          "description": "Import route map.\n"
        },
        "importRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetBgpVrf6ImportRt:getBgpVrf6ImportRt"
          },
          "description": "List of import route target. The structure of `import_rt` block is documented below.\n"
        },
        "leakTargets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetBgpVrf6LeakTarget:getBgpVrf6LeakTarget"
          },
          "description": "Target VRF table. The structure of `leak_target` block is documented below.\n"
        },
        "rd": {
          "type": "string",
          "description": "Route Distinguisher: AA:NN|A.B.C.D:NN.\n"
        },
        "role": {
          "type": "string",
          "description": "VRF role.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Target VRF ID <0 - 31>.\n"
        }
      },
      "type": "object",
      "required": [
        "exportRts",
        "importRouteMap",
        "importRts",
        "leakTargets",
        "rd",
        "role",
        "vrf"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrf6ExportRt:getBgpVrf6ExportRt": {
      "properties": {
        "routeTarget": {
          "type": "string",
          "description": "Attribute: AA:NN|A.B.C.D:NN\n"
        }
      },
      "type": "object",
      "required": [
        "routeTarget"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrf6ImportRt:getBgpVrf6ImportRt": {
      "properties": {
        "routeTarget": {
          "type": "string",
          "description": "Attribute: AA:NN|A.B.C.D:NN\n"
        }
      },
      "type": "object",
      "required": [
        "routeTarget"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrf6LeakTarget:getBgpVrf6LeakTarget": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface which is used to leak routes to target VRF.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map of VRF leaking.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Target VRF ID <0 - 31>.\n"
        }
      },
      "type": "object",
      "required": [
        "interface",
        "routeMap",
        "vrf"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrf:getBgpVrf": {
      "properties": {
        "exportRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetBgpVrfExportRt:getBgpVrfExportRt"
          },
          "description": "List of export route target. The structure of `export_rt` block is documented below.\n"
        },
        "importRouteMap": {
          "type": "string",
          "description": "Import route map.\n"
        },
        "importRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetBgpVrfImportRt:getBgpVrfImportRt"
          },
          "description": "List of import route target. The structure of `import_rt` block is documented below.\n"
        },
        "leakTargets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetBgpVrfLeakTarget:getBgpVrfLeakTarget"
          },
          "description": "Target VRF table. The structure of `leak_target` block is documented below.\n"
        },
        "rd": {
          "type": "string",
          "description": "Route Distinguisher: AA:NN|A.B.C.D:NN.\n"
        },
        "role": {
          "type": "string",
          "description": "VRF role.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Target VRF ID <0 - 31>.\n"
        }
      },
      "type": "object",
      "required": [
        "exportRts",
        "importRouteMap",
        "importRts",
        "leakTargets",
        "rd",
        "role",
        "vrf"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrfExportRt:getBgpVrfExportRt": {
      "properties": {
        "routeTarget": {
          "type": "string",
          "description": "Attribute: AA:NN|A.B.C.D:NN\n"
        }
      },
      "type": "object",
      "required": [
        "routeTarget"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrfImportRt:getBgpVrfImportRt": {
      "properties": {
        "routeTarget": {
          "type": "string",
          "description": "Attribute: AA:NN|A.B.C.D:NN\n"
        }
      },
      "type": "object",
      "required": [
        "routeTarget"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrfLeak6:getBgpVrfLeak6": {
      "properties": {
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetBgpVrfLeak6Target:getBgpVrfLeak6Target"
          },
          "description": "Target VRF table. The structure of `target` block is documented below.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Target VRF ID <0 - 31>.\n"
        }
      },
      "type": "object",
      "required": [
        "targets",
        "vrf"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrfLeak6Target:getBgpVrfLeak6Target": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface which is used to leak routes to target VRF.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map of VRF leaking.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Target VRF ID <0 - 31>.\n"
        }
      },
      "type": "object",
      "required": [
        "interface",
        "routeMap",
        "vrf"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrfLeak:getBgpVrfLeak": {
      "properties": {
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetBgpVrfLeakTarget:getBgpVrfLeakTarget"
          },
          "description": "Target VRF table. The structure of `target` block is documented below.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Target VRF ID <0 - 31>.\n"
        }
      },
      "type": "object",
      "required": [
        "targets",
        "vrf"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getBgpVrfLeakTarget:getBgpVrfLeakTarget": {
      "properties": {
        "interface": {
          "type": "string",
          "description": "Interface which is used to leak routes to target VRF.\n"
        },
        "routeMap": {
          "type": "string",
          "description": "Route map of VRF leaking.\n"
        },
        "vrf": {
          "type": "string",
          "description": "Target VRF ID <0 - 31>.\n"
        }
      },
      "type": "object",
      "required": [
        "interface",
        "routeMap",
        "vrf"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getCommunitylistRule:getCommunitylistRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny route-based operations, based on the route's COMMUNITY attribute.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "match": {
          "type": "string",
          "description": "Community specifications for matching a reserved community.\n"
        },
        "regexp": {
          "type": "string",
          "description": "Ordered list of COMMUNITY attributes as a regular expression.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "id",
        "match",
        "regexp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getIsisIsisInterface:getIsisIsisInterface": {
      "properties": {
        "authKeychainL1": {
          "type": "string",
          "description": "Authentication key-chain for level 1 PDUs.\n"
        },
        "authKeychainL2": {
          "type": "string",
          "description": "Authentication key-chain for level 2 PDUs.\n"
        },
        "authModeL1": {
          "type": "string",
          "description": "Level 1 authentication mode.\n"
        },
        "authModeL2": {
          "type": "string",
          "description": "Level 2 authentication mode.\n"
        },
        "authPasswordL1": {
          "type": "string",
          "description": "Authentication password for level 1 PDUs.\n",
          "secret": true
        },
        "authPasswordL2": {
          "type": "string",
          "description": "Authentication password for level 2 PDUs.\n",
          "secret": true
        },
        "authSendOnlyL1": {
          "type": "string",
          "description": "Enable/disable authentication send-only for level 1 PDUs.\n"
        },
        "authSendOnlyL2": {
          "type": "string",
          "description": "Enable/disable authentication send-only for level 2 PDUs.\n"
        },
        "circuitType": {
          "type": "string",
          "description": "IS-IS interface's circuit type\n"
        },
        "csnpIntervalL1": {
          "type": "integer",
          "description": "Level 1 CSNP interval.\n"
        },
        "csnpIntervalL2": {
          "type": "integer",
          "description": "Level 2 CSNP interval.\n"
        },
        "helloIntervalL1": {
          "type": "integer",
          "description": "Level 1 hello interval.\n"
        },
        "helloIntervalL2": {
          "type": "integer",
          "description": "Level 2 hello interval.\n"
        },
        "helloMultiplierL1": {
          "type": "integer",
          "description": "Level 1 multiplier for Hello holding time.\n"
        },
        "helloMultiplierL2": {
          "type": "integer",
          "description": "Level 2 multiplier for Hello holding time.\n"
        },
        "helloPadding": {
          "type": "string",
          "description": "Enable/disable padding to IS-IS hello packets.\n"
        },
        "lspInterval": {
          "type": "integer",
          "description": "LSP transmission interval (milliseconds).\n"
        },
        "lspRetransmitInterval": {
          "type": "integer",
          "description": "LSP retransmission interval (sec).\n"
        },
        "meshGroup": {
          "type": "string",
          "description": "Enable/disable IS-IS mesh group.\n"
        },
        "meshGroupId": {
          "type": "integer",
          "description": "Mesh group ID <0-4294967295>, 0: mesh-group blocked.\n"
        },
        "metricL1": {
          "type": "integer",
          "description": "Level 1 metric for interface.\n"
        },
        "metricL2": {
          "type": "integer",
          "description": "Level 2 metric for interface.\n"
        },
        "name": {
          "type": "string",
          "description": "IS-IS interface name.\n"
        },
        "networkType": {
          "type": "string",
          "description": "IS-IS interface's network type\n"
        },
        "priorityL1": {
          "type": "integer",
          "description": "Level 1 priority.\n"
        },
        "priorityL2": {
          "type": "integer",
          "description": "Level 2 priority.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable redistribution.\n"
        },
        "status6": {
          "type": "string",
          "description": "Enable/disable IPv6 interface for IS-IS.\n"
        },
        "wideMetricL1": {
          "type": "integer",
          "description": "Level 1 wide metric for interface.\n"
        },
        "wideMetricL2": {
          "type": "integer",
          "description": "Level 2 wide metric for interface.\n"
        }
      },
      "type": "object",
      "required": [
        "authKeychainL1",
        "authKeychainL2",
        "authModeL1",
        "authModeL2",
        "authPasswordL1",
        "authPasswordL2",
        "authSendOnlyL1",
        "authSendOnlyL2",
        "circuitType",
        "csnpIntervalL1",
        "csnpIntervalL2",
        "helloIntervalL1",
        "helloIntervalL2",
        "helloMultiplierL1",
        "helloMultiplierL2",
        "helloPadding",
        "lspInterval",
        "lspRetransmitInterval",
        "meshGroup",
        "meshGroupId",
        "metricL1",
        "metricL2",
        "name",
        "networkType",
        "priorityL1",
        "priorityL2",
        "status",
        "status6",
        "wideMetricL1",
        "wideMetricL2"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getIsisIsisNet:getIsisIsisNet": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Prefix entry ID.\n"
        },
        "net": {
          "type": "string",
          "description": "IS-IS net xx.xxxx. ... .xxxx.xx.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "net"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getIsisRedistribute6:getIsisRedistribute6": {
      "properties": {
        "level": {
          "type": "string",
          "description": "Level.\n"
        },
        "metric": {
          "type": "integer",
          "description": "Metric.\n"
        },
        "metricType": {
          "type": "string",
          "description": "Metric type.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable redistribution.\n"
        }
      },
      "type": "object",
      "required": [
        "level",
        "metric",
        "metricType",
        "protocol",
        "routemap",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getIsisRedistribute:getIsisRedistribute": {
      "properties": {
        "level": {
          "type": "string",
          "description": "Level.\n"
        },
        "metric": {
          "type": "integer",
          "description": "Metric.\n"
        },
        "metricType": {
          "type": "string",
          "description": "Metric type.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable redistribution.\n"
        }
      },
      "type": "object",
      "required": [
        "level",
        "metric",
        "metricType",
        "protocol",
        "routemap",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getIsisSummaryAddress6:getIsisSummaryAddress6": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Prefix entry ID.\n"
        },
        "level": {
          "type": "string",
          "description": "Level.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "IPv6 prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "level",
        "prefix6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getIsisSummaryAddress:getIsisSummaryAddress": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Prefix entry ID.\n"
        },
        "level": {
          "type": "string",
          "description": "Level.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "level",
        "prefix"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getKeychainKey:getKeychainKey": {
      "properties": {
        "acceptLifetime": {
          "type": "string",
          "description": "Lifetime of received authentication key (format: hh:mm:ss day month year).\n"
        },
        "algorithm": {
          "type": "string",
          "description": "Cryptographic algorithm.\n"
        },
        "id": {
          "type": "integer",
          "description": "Key ID (0 - 2147483647).\n"
        },
        "keyString": {
          "type": "string",
          "description": "Password for the key (max. = 35 characters).\n",
          "secret": true
        },
        "sendLifetime": {
          "type": "string",
          "description": "Lifetime of sent authentication key (format: hh:mm:ss day month year).\n"
        }
      },
      "type": "object",
      "required": [
        "acceptLifetime",
        "algorithm",
        "id",
        "keyString",
        "sendLifetime"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getMulticast6Interface:getMulticast6Interface": {
      "properties": {
        "helloHoldtime": {
          "type": "integer",
          "description": "Time before old neighbour information expires (1 - 65535 sec, default = 105).\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Interval between sending PIM hello messages  (1 - 65535 sec, default = 30)..\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "helloHoldtime",
        "helloInterval",
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getMulticast6PimSmGlobal:getMulticast6PimSmGlobal": {
      "properties": {
        "registerRateLimit": {
          "type": "integer",
          "description": "Limit of packets/sec per source registered through this RP (0 means unlimited).\n"
        },
        "rpAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetMulticast6PimSmGlobalRpAddress:getMulticast6PimSmGlobalRpAddress"
          },
          "description": "Statically configured RP addresses. The structure of `rp_address` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "registerRateLimit",
        "rpAddresses"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getMulticast6PimSmGlobalRpAddress:getMulticast6PimSmGlobalRpAddress": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID of the entry.\n"
        },
        "ip6Address": {
          "type": "string",
          "description": "RP router IPv6 address.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "ip6Address"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getMulticastInterface:getMulticastInterface": {
      "properties": {
        "bfd": {
          "type": "string",
          "description": "Enable/disable Protocol Independent Multicast (PIM) Bidirectional Forwarding Detection (BFD).\n"
        },
        "ciscoExcludeGenid": {
          "type": "string",
          "description": "Exclude GenID from hello packets (compatibility with old Cisco IOS).\n"
        },
        "drPriority": {
          "type": "integer",
          "description": "DR election priority.\n"
        },
        "helloHoldtime": {
          "type": "integer",
          "description": "Time before old neighbor information expires (0 - 65535 sec, default = 105).\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Interval between sending PIM hello messages (0 - 65535 sec, default = 30).\n"
        },
        "igmps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetMulticastInterfaceIgmp:getMulticastInterfaceIgmp"
          },
          "description": "IGMP configuration options. The structure of `igmp` block is documented below.\n"
        },
        "joinGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetMulticastInterfaceJoinGroup:getMulticastInterfaceJoinGroup"
          },
          "description": "Join multicast groups. The structure of `join_group` block is documented below.\n"
        },
        "multicastFlow": {
          "type": "string",
          "description": "Acceptable source for multicast group.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "neighbourFilter": {
          "type": "string",
          "description": "Routers acknowledged as neighbor routers.\n"
        },
        "passive": {
          "type": "string",
          "description": "Enable/disable listening to IGMP but not participating in PIM.\n"
        },
        "pimMode": {
          "type": "string",
          "description": "PIM operation mode.\n"
        },
        "propagationDelay": {
          "type": "integer",
          "description": "Delay flooding packets on this interface (100 - 5000 msec, default = 500).\n"
        },
        "rpCandidate": {
          "type": "string",
          "description": "Enable/disable compete to become RP in elections.\n"
        },
        "rpCandidateGroup": {
          "type": "string",
          "description": "Multicast groups managed by this RP.\n"
        },
        "rpCandidateInterval": {
          "type": "integer",
          "description": "RP candidate advertisement interval (1 - 16383 sec, default = 60).\n"
        },
        "rpCandidatePriority": {
          "type": "integer",
          "description": "Router's priority as RP.\n"
        },
        "rpfNbrFailBack": {
          "type": "string",
          "description": "Enable/disable fail back for RPF neighbor query.\n"
        },
        "rpfNbrFailBackFilter": {
          "type": "string",
          "description": "Filter for fail back RPF neighbors.\n"
        },
        "stateRefreshInterval": {
          "type": "integer",
          "description": "Interval between sending state-refresh packets (1 - 100 sec, default = 60).\n"
        },
        "staticGroup": {
          "type": "string",
          "description": "Statically set multicast groups to forward out.\n"
        },
        "ttlThreshold": {
          "type": "integer",
          "description": "Minimum TTL of multicast packets that will be forwarded (applied only to new multicast routes) (1 - 255, default = 1).\n"
        }
      },
      "type": "object",
      "required": [
        "bfd",
        "ciscoExcludeGenid",
        "drPriority",
        "helloHoldtime",
        "helloInterval",
        "igmps",
        "joinGroups",
        "multicastFlow",
        "name",
        "neighbourFilter",
        "passive",
        "pimMode",
        "propagationDelay",
        "rpCandidate",
        "rpCandidateGroup",
        "rpCandidateInterval",
        "rpCandidatePriority",
        "rpfNbrFailBack",
        "rpfNbrFailBackFilter",
        "stateRefreshInterval",
        "staticGroup",
        "ttlThreshold"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getMulticastInterfaceIgmp:getMulticastInterfaceIgmp": {
      "properties": {
        "accessGroup": {
          "type": "string",
          "description": "Groups IGMP hosts are allowed to join.\n"
        },
        "immediateLeaveGroup": {
          "type": "string",
          "description": "Groups to drop membership for immediately after receiving IGMPv2 leave.\n"
        },
        "lastMemberQueryCount": {
          "type": "integer",
          "description": "Number of group specific queries before removing group (2 - 7, default = 2).\n"
        },
        "lastMemberQueryInterval": {
          "type": "integer",
          "description": "Timeout between IGMPv2 leave and removing group (1 - 65535 msec, default = 1000).\n"
        },
        "queryInterval": {
          "type": "integer",
          "description": "Interval between queries to IGMP hosts (1 - 65535 sec, default = 125).\n"
        },
        "queryMaxResponseTime": {
          "type": "integer",
          "description": "Maximum time to wait for a IGMP query response (1 - 25 sec, default = 10).\n"
        },
        "queryTimeout": {
          "type": "integer",
          "description": "Timeout between queries before becoming querier for network (60 - 900, default = 255).\n"
        },
        "routerAlertCheck": {
          "type": "string",
          "description": "Enable/disable require IGMP packets contain router alert option.\n"
        },
        "version": {
          "type": "string",
          "description": "Maximum version of IGMP to support.\n"
        }
      },
      "type": "object",
      "required": [
        "accessGroup",
        "immediateLeaveGroup",
        "lastMemberQueryCount",
        "lastMemberQueryInterval",
        "queryInterval",
        "queryMaxResponseTime",
        "queryTimeout",
        "routerAlertCheck",
        "version"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getMulticastInterfaceJoinGroup:getMulticastInterfaceJoinGroup": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Multicast group IP address.\n"
        }
      },
      "type": "object",
      "required": [
        "address"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getMulticastPimSmGlobal:getMulticastPimSmGlobal": {
      "properties": {
        "acceptRegisterList": {
          "type": "string",
          "description": "Sources allowed to register packets with this Rendezvous Point (RP).\n"
        },
        "acceptSourceList": {
          "type": "string",
          "description": "Sources allowed to send multicast traffic.\n"
        },
        "bsrAllowQuickRefresh": {
          "type": "string",
          "description": "Enable/disable accept BSR quick refresh packets from neighbors.\n"
        },
        "bsrCandidate": {
          "type": "string",
          "description": "Enable/disable allowing this router to become a bootstrap router (BSR).\n"
        },
        "bsrHash": {
          "type": "integer",
          "description": "BSR hash length (0 - 32, default = 10).\n"
        },
        "bsrInterface": {
          "type": "string",
          "description": "Interface to advertise as candidate BSR.\n"
        },
        "bsrPriority": {
          "type": "integer",
          "description": "BSR priority (0 - 255, default = 0).\n"
        },
        "ciscoCrpPrefix": {
          "type": "string",
          "description": "Enable/disable making candidate RP compatible with old Cisco IOS.\n"
        },
        "ciscoIgnoreRpSetPriority": {
          "type": "string",
          "description": "Use only hash for RP selection (compatibility with old Cisco IOS).\n"
        },
        "ciscoRegisterChecksum": {
          "type": "string",
          "description": "Checksum entire register packet(for old Cisco IOS compatibility).\n"
        },
        "ciscoRegisterChecksumGroup": {
          "type": "string",
          "description": "Cisco register checksum only these groups.\n"
        },
        "joinPruneHoldtime": {
          "type": "integer",
          "description": "Join/prune holdtime (1 - 65535, default = 210).\n"
        },
        "messageInterval": {
          "type": "integer",
          "description": "Period of time between sending periodic PIM join/prune messages in seconds (1 - 65535, default = 60).\n"
        },
        "nullRegisterRetries": {
          "type": "integer",
          "description": "Maximum retries of null register (1 - 20, default = 1).\n"
        },
        "pimUseSdwan": {
          "type": "string",
          "description": "Enable/disable use of SDWAN when checking RPF neighbor and sending of REG packet.\n"
        },
        "registerRateLimit": {
          "type": "integer",
          "description": "Limit of packets/sec per source registered through this RP (0 - 65535, default = 0 which means unlimited).\n"
        },
        "registerRpReachability": {
          "type": "string",
          "description": "Enable/disable check RP is reachable before registering packets.\n"
        },
        "registerSource": {
          "type": "string",
          "description": "Override source address in register packets.\n"
        },
        "registerSourceInterface": {
          "type": "string",
          "description": "Override with primary interface address.\n"
        },
        "registerSourceIp": {
          "type": "string",
          "description": "Override with local IP address.\n"
        },
        "registerSupression": {
          "type": "integer",
          "description": "Period of time to honor register-stop message (1 - 65535 sec, default = 60).\n"
        },
        "rpAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetMulticastPimSmGlobalRpAddress:getMulticastPimSmGlobalRpAddress"
          },
          "description": "Statically configure RP addresses. The structure of `rp_address` block is documented below.\n"
        },
        "rpRegisterKeepalive": {
          "type": "integer",
          "description": "Timeout for RP receiving data on (S,G) tree (1 - 65535 sec, default = 185).\n"
        },
        "sptThreshold": {
          "type": "string",
          "description": "Enable/disable switching to source specific trees.\n"
        },
        "sptThresholdGroup": {
          "type": "string",
          "description": "Groups allowed to switch to source tree.\n"
        },
        "ssm": {
          "type": "string",
          "description": "Enable/disable source specific multicast.\n"
        },
        "ssmRange": {
          "type": "string",
          "description": "Groups allowed to source specific multicast.\n"
        }
      },
      "type": "object",
      "required": [
        "acceptRegisterList",
        "acceptSourceList",
        "bsrAllowQuickRefresh",
        "bsrCandidate",
        "bsrHash",
        "bsrInterface",
        "bsrPriority",
        "ciscoCrpPrefix",
        "ciscoIgnoreRpSetPriority",
        "ciscoRegisterChecksum",
        "ciscoRegisterChecksumGroup",
        "joinPruneHoldtime",
        "messageInterval",
        "nullRegisterRetries",
        "pimUseSdwan",
        "registerRateLimit",
        "registerRpReachability",
        "registerSource",
        "registerSourceInterface",
        "registerSourceIp",
        "registerSupression",
        "rpAddresses",
        "rpRegisterKeepalive",
        "sptThreshold",
        "sptThresholdGroup",
        "ssm",
        "ssmRange"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getMulticastPimSmGlobalRpAddress:getMulticastPimSmGlobalRpAddress": {
      "properties": {
        "group": {
          "type": "string",
          "description": "Groups to use this RP.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ipAddress": {
          "type": "string",
          "description": "RP router address.\n"
        }
      },
      "type": "object",
      "required": [
        "group",
        "id",
        "ipAddress"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getMulticastflowFlow:getMulticastflowFlow": {
      "properties": {
        "groupAddr": {
          "type": "string",
          "description": "Multicast group IP address.\n"
        },
        "id": {
          "type": "integer",
          "description": "Flow ID.\n"
        },
        "sourceAddr": {
          "type": "string",
          "description": "Multicast source IP address.\n"
        }
      },
      "type": "object",
      "required": [
        "groupAddr",
        "id",
        "sourceAddr"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6Area:getOspf6Area": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication mode.\n"
        },
        "defaultCost": {
          "type": "integer",
          "description": "Summary default cost of stub or NSSA area.\n"
        },
        "id": {
          "type": "string",
          "description": "Summary address entry ID.\n"
        },
        "ipsecAuthAlg": {
          "type": "string",
          "description": "Authentication algorithm.\n"
        },
        "ipsecEncAlg": {
          "type": "string",
          "description": "Encryption algorithm.\n"
        },
        "ipsecKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspf6AreaIpsecKey:getOspf6AreaIpsecKey"
          },
          "description": "IPsec authentication and encryption keys. The structure of `ipsec_keys` block is documented below.\n"
        },
        "keyRolloverInterval": {
          "type": "integer",
          "description": "Key roll-over interval.\n"
        },
        "nssaDefaultInformationOriginate": {
          "type": "string",
          "description": "Enable/disable originate type 7 default into NSSA area.\n"
        },
        "nssaDefaultInformationOriginateMetric": {
          "type": "integer",
          "description": "OSPFv3 default metric.\n"
        },
        "nssaDefaultInformationOriginateMetricType": {
          "type": "string",
          "description": "OSPFv3 metric type for default routes.\n"
        },
        "nssaRedistribution": {
          "type": "string",
          "description": "Enable/disable redistribute into NSSA area.\n"
        },
        "nssaTranslatorRole": {
          "type": "string",
          "description": "NSSA translator role type.\n"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspf6AreaRange:getOspf6AreaRange"
          },
          "description": "OSPF6 area range configuration. The structure of `range` block is documented below.\n"
        },
        "stubType": {
          "type": "string",
          "description": "Stub summary setting.\n"
        },
        "type": {
          "type": "string",
          "description": "Area type setting.\n"
        },
        "virtualLinks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspf6AreaVirtualLink:getOspf6AreaVirtualLink"
          },
          "description": "OSPF6 virtual link configuration. The structure of `virtual_link` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "authentication",
        "defaultCost",
        "id",
        "ipsecAuthAlg",
        "ipsecEncAlg",
        "ipsecKeys",
        "keyRolloverInterval",
        "nssaDefaultInformationOriginate",
        "nssaDefaultInformationOriginateMetric",
        "nssaDefaultInformationOriginateMetricType",
        "nssaRedistribution",
        "nssaTranslatorRole",
        "ranges",
        "stubType",
        "type",
        "virtualLinks"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6AreaIpsecKey:getOspf6AreaIpsecKey": {
      "properties": {
        "authKey": {
          "type": "string",
          "description": "Authentication key.\n",
          "secret": true
        },
        "encKey": {
          "type": "string",
          "description": "Encryption key.\n",
          "secret": true
        },
        "spi": {
          "type": "integer",
          "description": "Security Parameters Index.\n"
        }
      },
      "type": "object",
      "required": [
        "authKey",
        "encKey",
        "spi"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6AreaRange:getOspf6AreaRange": {
      "properties": {
        "advertise": {
          "type": "string",
          "description": "Enable/disable advertise status.\n"
        },
        "id": {
          "type": "integer",
          "description": "Summary address entry ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "IPv6 prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "advertise",
        "id",
        "prefix6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6AreaVirtualLink:getOspf6AreaVirtualLink": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication mode.\n"
        },
        "deadInterval": {
          "type": "integer",
          "description": "Dead interval.\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Hello interval.\n"
        },
        "ipsecAuthAlg": {
          "type": "string",
          "description": "Authentication algorithm.\n"
        },
        "ipsecEncAlg": {
          "type": "string",
          "description": "Encryption algorithm.\n"
        },
        "ipsecKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspf6AreaVirtualLinkIpsecKey:getOspf6AreaVirtualLinkIpsecKey"
          },
          "description": "IPsec authentication and encryption keys. The structure of `ipsec_keys` block is documented below.\n"
        },
        "keyRolloverInterval": {
          "type": "integer",
          "description": "Key roll-over interval.\n"
        },
        "name": {
          "type": "string",
          "description": "Passive interface name.\n"
        },
        "peer": {
          "type": "string",
          "description": "A.B.C.D, peer router ID.\n"
        },
        "retransmitInterval": {
          "type": "integer",
          "description": "Retransmit interval.\n"
        },
        "transmitDelay": {
          "type": "integer",
          "description": "Transmit delay.\n"
        }
      },
      "type": "object",
      "required": [
        "authentication",
        "deadInterval",
        "helloInterval",
        "ipsecAuthAlg",
        "ipsecEncAlg",
        "ipsecKeys",
        "keyRolloverInterval",
        "name",
        "peer",
        "retransmitInterval",
        "transmitDelay"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6AreaVirtualLinkIpsecKey:getOspf6AreaVirtualLinkIpsecKey": {
      "properties": {
        "authKey": {
          "type": "string",
          "description": "Authentication key.\n",
          "secret": true
        },
        "encKey": {
          "type": "string",
          "description": "Encryption key.\n",
          "secret": true
        },
        "spi": {
          "type": "integer",
          "description": "Security Parameters Index.\n"
        }
      },
      "type": "object",
      "required": [
        "authKey",
        "encKey",
        "spi"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6Ospf6Interface:getOspf6Ospf6Interface": {
      "properties": {
        "areaId": {
          "type": "string",
          "description": "A.B.C.D, in IPv4 address format.\n"
        },
        "authentication": {
          "type": "string",
          "description": "Authentication mode.\n"
        },
        "bfd": {
          "type": "string",
          "description": "Enable/disable Bidirectional Forwarding Detection (BFD).\n"
        },
        "cost": {
          "type": "integer",
          "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
        },
        "deadInterval": {
          "type": "integer",
          "description": "Dead interval.\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Hello interval.\n"
        },
        "interface": {
          "type": "string",
          "description": "Configuration interface name.\n"
        },
        "ipsecAuthAlg": {
          "type": "string",
          "description": "Authentication algorithm.\n"
        },
        "ipsecEncAlg": {
          "type": "string",
          "description": "Encryption algorithm.\n"
        },
        "ipsecKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspf6Ospf6InterfaceIpsecKey:getOspf6Ospf6InterfaceIpsecKey"
          },
          "description": "IPsec authentication and encryption keys. The structure of `ipsec_keys` block is documented below.\n"
        },
        "keyRolloverInterval": {
          "type": "integer",
          "description": "Key roll-over interval.\n"
        },
        "mtu": {
          "type": "integer",
          "description": "MTU for OSPFv3 packets.\n"
        },
        "mtuIgnore": {
          "type": "string",
          "description": "Enable/disable ignoring MTU field in DBD packets.\n"
        },
        "name": {
          "type": "string",
          "description": "Passive interface name.\n"
        },
        "neighbors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspf6Ospf6InterfaceNeighbor:getOspf6Ospf6InterfaceNeighbor"
          },
          "description": "OSPFv3 neighbors are used when OSPFv3 runs on non-broadcast media The structure of `neighbor` block is documented below.\n"
        },
        "networkType": {
          "type": "string",
          "description": "Network type.\n"
        },
        "priority": {
          "type": "integer",
          "description": "priority\n"
        },
        "retransmitInterval": {
          "type": "integer",
          "description": "Retransmit interval.\n"
        },
        "status": {
          "type": "string",
          "description": "status\n"
        },
        "transmitDelay": {
          "type": "integer",
          "description": "Transmit delay.\n"
        }
      },
      "type": "object",
      "required": [
        "areaId",
        "authentication",
        "bfd",
        "cost",
        "deadInterval",
        "helloInterval",
        "interface",
        "ipsecAuthAlg",
        "ipsecEncAlg",
        "ipsecKeys",
        "keyRolloverInterval",
        "mtu",
        "mtuIgnore",
        "name",
        "neighbors",
        "networkType",
        "priority",
        "retransmitInterval",
        "status",
        "transmitDelay"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6Ospf6InterfaceIpsecKey:getOspf6Ospf6InterfaceIpsecKey": {
      "properties": {
        "authKey": {
          "type": "string",
          "description": "Authentication key.\n",
          "secret": true
        },
        "encKey": {
          "type": "string",
          "description": "Encryption key.\n",
          "secret": true
        },
        "spi": {
          "type": "integer",
          "description": "Security Parameters Index.\n"
        }
      },
      "type": "object",
      "required": [
        "authKey",
        "encKey",
        "spi"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6Ospf6InterfaceNeighbor:getOspf6Ospf6InterfaceNeighbor": {
      "properties": {
        "cost": {
          "type": "integer",
          "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 link local address of the neighbor.\n"
        },
        "pollInterval": {
          "type": "integer",
          "description": "Poll interval time in seconds.\n"
        },
        "priority": {
          "type": "integer",
          "description": "priority\n"
        }
      },
      "type": "object",
      "required": [
        "cost",
        "ip6",
        "pollInterval",
        "priority"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6PassiveInterface:getOspf6PassiveInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Passive interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6Redistribute:getOspf6Redistribute": {
      "properties": {
        "metric": {
          "type": "integer",
          "description": "Redistribute metric setting.\n"
        },
        "metricType": {
          "type": "string",
          "description": "Metric type.\n"
        },
        "name": {
          "type": "string",
          "description": "Passive interface name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "status\n"
        }
      },
      "type": "object",
      "required": [
        "metric",
        "metricType",
        "name",
        "routemap",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspf6SummaryAddress:getOspf6SummaryAddress": {
      "properties": {
        "advertise": {
          "type": "string",
          "description": "Enable/disable advertise status.\n"
        },
        "id": {
          "type": "integer",
          "description": "Summary address entry ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "IPv6 prefix.\n"
        },
        "tag": {
          "type": "integer",
          "description": "Tag value.\n"
        }
      },
      "type": "object",
      "required": [
        "advertise",
        "id",
        "prefix6",
        "tag"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfArea:getOspfArea": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication type.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "defaultCost": {
          "type": "integer",
          "description": "Summary default cost of stub or NSSA area.\n"
        },
        "filterLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspfAreaFilterList:getOspfAreaFilterList"
          },
          "description": "OSPF area filter-list configuration. The structure of `filter_list` block is documented below.\n"
        },
        "id": {
          "type": "string",
          "description": "Distribute list entry ID.\n"
        },
        "nssaDefaultInformationOriginate": {
          "type": "string",
          "description": "Redistribute, advertise, or do not originate Type-7 default route into NSSA area.\n"
        },
        "nssaDefaultInformationOriginateMetric": {
          "type": "integer",
          "description": "OSPF default metric.\n"
        },
        "nssaDefaultInformationOriginateMetricType": {
          "type": "string",
          "description": "OSPF metric type for default routes.\n"
        },
        "nssaRedistribution": {
          "type": "string",
          "description": "Enable/disable redistribute into NSSA area.\n"
        },
        "nssaTranslatorRole": {
          "type": "string",
          "description": "NSSA translator role type.\n"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspfAreaRange:getOspfAreaRange"
          },
          "description": "OSPF area range configuration. The structure of `range` block is documented below.\n"
        },
        "shortcut": {
          "type": "string",
          "description": "Enable/disable shortcut option.\n"
        },
        "stubType": {
          "type": "string",
          "description": "Stub summary setting.\n"
        },
        "type": {
          "type": "string",
          "description": "Area type setting.\n"
        },
        "virtualLinks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspfAreaVirtualLink:getOspfAreaVirtualLink"
          },
          "description": "OSPF virtual link configuration. The structure of `virtual_link` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "authentication",
        "comments",
        "defaultCost",
        "filterLists",
        "id",
        "nssaDefaultInformationOriginate",
        "nssaDefaultInformationOriginateMetric",
        "nssaDefaultInformationOriginateMetricType",
        "nssaRedistribution",
        "nssaTranslatorRole",
        "ranges",
        "shortcut",
        "stubType",
        "type",
        "virtualLinks"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfAreaFilterList:getOspfAreaFilterList": {
      "properties": {
        "direction": {
          "type": "string",
          "description": "Direction.\n"
        },
        "id": {
          "type": "integer",
          "description": "Distribute list entry ID.\n"
        },
        "list": {
          "type": "string",
          "description": "Access-list or prefix-list name.\n"
        }
      },
      "type": "object",
      "required": [
        "direction",
        "id",
        "list"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfAreaRange:getOspfAreaRange": {
      "properties": {
        "advertise": {
          "type": "string",
          "description": "Enable/disable advertise status.\n"
        },
        "id": {
          "type": "integer",
          "description": "Distribute list entry ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        },
        "substitute": {
          "type": "string",
          "description": "Substitute prefix.\n"
        },
        "substituteStatus": {
          "type": "string",
          "description": "Enable/disable substitute status.\n"
        }
      },
      "type": "object",
      "required": [
        "advertise",
        "id",
        "prefix",
        "substitute",
        "substituteStatus"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfAreaVirtualLink:getOspfAreaVirtualLink": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication type.\n"
        },
        "authenticationKey": {
          "type": "string",
          "description": "Authentication key.\n",
          "secret": true
        },
        "deadInterval": {
          "type": "integer",
          "description": "Dead interval.\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Hello interval.\n"
        },
        "keychain": {
          "type": "string",
          "description": "Message-digest key-chain name.\n"
        },
        "md5Key": {
          "type": "string",
          "description": "MD5 key.\n",
          "secret": true
        },
        "md5Keychain": {
          "type": "string",
          "description": "Authentication MD5 key-chain name.\n"
        },
        "md5Keys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspfAreaVirtualLinkMd5Key:getOspfAreaVirtualLinkMd5Key"
          },
          "description": "MD5 key. The structure of `md5_keys` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Redistribute name.\n"
        },
        "peer": {
          "type": "string",
          "description": "Peer IP.\n"
        },
        "retransmitInterval": {
          "type": "integer",
          "description": "Retransmit interval.\n"
        },
        "transmitDelay": {
          "type": "integer",
          "description": "Transmit delay.\n"
        }
      },
      "type": "object",
      "required": [
        "authentication",
        "authenticationKey",
        "deadInterval",
        "helloInterval",
        "keychain",
        "md5Key",
        "md5Keychain",
        "md5Keys",
        "name",
        "peer",
        "retransmitInterval",
        "transmitDelay"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfAreaVirtualLinkMd5Key:getOspfAreaVirtualLinkMd5Key": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Distribute list entry ID.\n"
        },
        "keyString": {
          "type": "string",
          "description": "Password for the key.\n",
          "secret": true
        }
      },
      "type": "object",
      "required": [
        "id",
        "keyString"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfDistributeList:getOspfDistributeList": {
      "properties": {
        "accessList": {
          "type": "string",
          "description": "Access list name.\n"
        },
        "id": {
          "type": "integer",
          "description": "Distribute list entry ID.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol type.\n"
        }
      },
      "type": "object",
      "required": [
        "accessList",
        "id",
        "protocol"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfNeighbor:getOspfNeighbor": {
      "properties": {
        "cost": {
          "type": "integer",
          "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
        },
        "id": {
          "type": "integer",
          "description": "Distribute list entry ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface IP address of the neighbor.\n"
        },
        "pollInterval": {
          "type": "integer",
          "description": "Poll interval time in seconds.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority.\n"
        }
      },
      "type": "object",
      "required": [
        "cost",
        "id",
        "ip",
        "pollInterval",
        "priority"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfNetwork:getOspfNetwork": {
      "properties": {
        "area": {
          "type": "string",
          "description": "Attach the network to area.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "id": {
          "type": "integer",
          "description": "Distribute list entry ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "area",
        "comments",
        "id",
        "prefix"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfOspfInterface:getOspfOspfInterface": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Authentication type.\n"
        },
        "authenticationKey": {
          "type": "string",
          "description": "Authentication key.\n",
          "secret": true
        },
        "bfd": {
          "type": "string",
          "description": "Bidirectional Forwarding Detection (BFD).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "cost": {
          "type": "integer",
          "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
        },
        "databaseFilterOut": {
          "type": "string",
          "description": "Enable/disable control of flooding out LSAs.\n"
        },
        "deadInterval": {
          "type": "integer",
          "description": "Dead interval.\n"
        },
        "helloInterval": {
          "type": "integer",
          "description": "Hello interval.\n"
        },
        "helloMultiplier": {
          "type": "integer",
          "description": "Number of hello packets within dead interval.\n"
        },
        "interface": {
          "type": "string",
          "description": "Configuration interface name.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface IP address of the neighbor.\n"
        },
        "keychain": {
          "type": "string",
          "description": "Message-digest key-chain name.\n"
        },
        "md5Key": {
          "type": "string",
          "description": "MD5 key.\n",
          "secret": true
        },
        "md5Keychain": {
          "type": "string",
          "description": "Authentication MD5 key-chain name.\n"
        },
        "md5Keys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetOspfOspfInterfaceMd5Key:getOspfOspfInterfaceMd5Key"
          },
          "description": "MD5 key. The structure of `md5_keys` block is documented below.\n"
        },
        "mtu": {
          "type": "integer",
          "description": "MTU for database description packets.\n"
        },
        "mtuIgnore": {
          "type": "string",
          "description": "Enable/disable ignore MTU.\n"
        },
        "name": {
          "type": "string",
          "description": "Redistribute name.\n"
        },
        "networkType": {
          "type": "string",
          "description": "Network type.\n"
        },
        "prefixLength": {
          "type": "integer",
          "description": "Prefix length.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority.\n"
        },
        "resyncTimeout": {
          "type": "integer",
          "description": "Graceful restart neighbor resynchronization timeout.\n"
        },
        "retransmitInterval": {
          "type": "integer",
          "description": "Retransmit interval.\n"
        },
        "status": {
          "type": "string",
          "description": "status\n"
        },
        "transmitDelay": {
          "type": "integer",
          "description": "Transmit delay.\n"
        }
      },
      "type": "object",
      "required": [
        "authentication",
        "authenticationKey",
        "bfd",
        "comments",
        "cost",
        "databaseFilterOut",
        "deadInterval",
        "helloInterval",
        "helloMultiplier",
        "interface",
        "ip",
        "keychain",
        "md5Key",
        "md5Keychain",
        "md5Keys",
        "mtu",
        "mtuIgnore",
        "name",
        "networkType",
        "prefixLength",
        "priority",
        "resyncTimeout",
        "retransmitInterval",
        "status",
        "transmitDelay"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfOspfInterfaceMd5Key:getOspfOspfInterfaceMd5Key": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Distribute list entry ID.\n"
        },
        "keyString": {
          "type": "string",
          "description": "Password for the key.\n",
          "secret": true
        }
      },
      "type": "object",
      "required": [
        "id",
        "keyString"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfPassiveInterface:getOspfPassiveInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Redistribute name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfRedistribute:getOspfRedistribute": {
      "properties": {
        "metric": {
          "type": "integer",
          "description": "Redistribute metric setting.\n"
        },
        "metricType": {
          "type": "string",
          "description": "Metric type.\n"
        },
        "name": {
          "type": "string",
          "description": "Redistribute name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "status\n"
        },
        "tag": {
          "type": "integer",
          "description": "Tag value.\n"
        }
      },
      "type": "object",
      "required": [
        "metric",
        "metricType",
        "name",
        "routemap",
        "status",
        "tag"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getOspfSummaryAddress:getOspfSummaryAddress": {
      "properties": {
        "advertise": {
          "type": "string",
          "description": "Enable/disable advertise status.\n"
        },
        "id": {
          "type": "integer",
          "description": "Distribute list entry ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        },
        "tag": {
          "type": "integer",
          "description": "Tag value.\n"
        }
      },
      "type": "object",
      "required": [
        "advertise",
        "id",
        "prefix",
        "tag"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicy6Dstaddr:getPolicy6Dstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Destination Internet Service name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicy6InternetServiceCustom:getPolicy6InternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Destination Internet Service name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicy6InternetServiceId:getPolicy6InternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Destination Internet Service ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicy6Srcaddr:getPolicy6Srcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Destination Internet Service name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicyDst:getPolicyDst": {
      "properties": {
        "subnet": {
          "type": "string",
          "description": "IP and mask.\n"
        }
      },
      "type": "object",
      "required": [
        "subnet"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicyDstaddr:getPolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Destination Internet Service name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicyInputDevice:getPolicyInputDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Destination Internet Service name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicyInternetServiceCustom:getPolicyInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Destination Internet Service name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicyInternetServiceId:getPolicyInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Destination Internet Service ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicySrc:getPolicySrc": {
      "properties": {
        "subnet": {
          "type": "string",
          "description": "IP and mask.\n"
        }
      },
      "type": "object",
      "required": [
        "subnet"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPolicySrcaddr:getPolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Destination Internet Service name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPrefixlist6Rule:getPrefixlist6Rule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny packets that match this rule.\n"
        },
        "flags": {
          "type": "integer",
          "description": "Flags.\n"
        },
        "ge": {
          "type": "integer",
          "description": "Minimum prefix length to be matched (0 - 128).\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "le": {
          "type": "integer",
          "description": "Maximum prefix length to be matched (0 - 128).\n"
        },
        "prefix6": {
          "type": "string",
          "description": "IPv6 prefix to define regular filter criteria, such as \"any\" or subnets.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "flags",
        "ge",
        "id",
        "le",
        "prefix6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getPrefixlistRule:getPrefixlistRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Permit or deny this IP address and netmask prefix.\n"
        },
        "flags": {
          "type": "integer",
          "description": "Flags.\n"
        },
        "ge": {
          "type": "integer",
          "description": "Minimum prefix length to be matched (0 - 32).\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "le": {
          "type": "integer",
          "description": "Maximum prefix length to be matched (0 - 32).\n"
        },
        "prefix": {
          "type": "string",
          "description": "IPv4 prefix to define regular filter criteria, such as \"any\" or subnets.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "flags",
        "ge",
        "id",
        "le",
        "prefix"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipDistance:getRipDistance": {
      "properties": {
        "accessList": {
          "type": "string",
          "description": "Access list name.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance (1 - 255).\n"
        },
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Network prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "accessList",
        "distance",
        "id",
        "prefix"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipDistributeList:getRipDistributeList": {
      "properties": {
        "direction": {
          "type": "string",
          "description": "Offset list direction.\n"
        },
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "listname": {
          "type": "string",
          "description": "Distribute access/prefix list name.\n"
        },
        "status": {
          "type": "string",
          "description": "status\n"
        }
      },
      "type": "object",
      "required": [
        "direction",
        "id",
        "interface",
        "listname",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipInterface:getRipInterface": {
      "properties": {
        "authKeychain": {
          "type": "string",
          "description": "Authentication key-chain name.\n"
        },
        "authMode": {
          "type": "string",
          "description": "Authentication mode.\n"
        },
        "authString": {
          "type": "string",
          "description": "Authentication string/password.\n",
          "secret": true
        },
        "flags": {
          "type": "integer",
          "description": "flags\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "receiveVersion": {
          "type": "string",
          "description": "Receive version.\n"
        },
        "sendVersion": {
          "type": "string",
          "description": "Send version.\n"
        },
        "sendVersion2Broadcast": {
          "type": "string",
          "description": "Enable/disable broadcast version 1 compatible packets.\n"
        },
        "splitHorizon": {
          "type": "string",
          "description": "Enable/disable split horizon.\n"
        },
        "splitHorizonStatus": {
          "type": "string",
          "description": "Enable/disable split horizon.\n"
        }
      },
      "type": "object",
      "required": [
        "authKeychain",
        "authMode",
        "authString",
        "flags",
        "name",
        "receiveVersion",
        "sendVersion",
        "sendVersion2Broadcast",
        "splitHorizon",
        "splitHorizonStatus"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipNeighbor:getRipNeighbor": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "ip"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipNetwork:getRipNetwork": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Network prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "prefix"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipOffsetList:getRipOffsetList": {
      "properties": {
        "accessList": {
          "type": "string",
          "description": "Access list name.\n"
        },
        "direction": {
          "type": "string",
          "description": "Offset list direction.\n"
        },
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "offset": {
          "type": "integer",
          "description": "offset\n"
        },
        "status": {
          "type": "string",
          "description": "status\n"
        }
      },
      "type": "object",
      "required": [
        "accessList",
        "direction",
        "id",
        "interface",
        "offset",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipPassiveInterface:getRipPassiveInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipRedistribute:getRipRedistribute": {
      "properties": {
        "metric": {
          "type": "integer",
          "description": "Redistribute metric setting.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "status\n"
        }
      },
      "type": "object",
      "required": [
        "metric",
        "name",
        "routemap",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipngAggregateAddress:getRipngAggregateAddress": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "Aggregate address prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "prefix6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipngDistance:getRipngDistance": {
      "properties": {
        "accessList6": {
          "type": "string",
          "description": "IPv6 access list name.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Distance (1 - 255).\n"
        },
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "prefix6": {
          "type": "string",
          "description": "Aggregate address prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "accessList6",
        "distance",
        "id",
        "prefix6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipngDistributeList:getRipngDistributeList": {
      "properties": {
        "direction": {
          "type": "string",
          "description": "Offset list direction.\n"
        },
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "listname": {
          "type": "string",
          "description": "Distribute access/prefix list name.\n"
        },
        "status": {
          "type": "string",
          "description": "status\n"
        }
      },
      "type": "object",
      "required": [
        "direction",
        "id",
        "interface",
        "listname",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipngInterface:getRipngInterface": {
      "properties": {
        "flags": {
          "type": "integer",
          "description": "Flags.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "splitHorizon": {
          "type": "string",
          "description": "Enable/disable split horizon.\n"
        },
        "splitHorizonStatus": {
          "type": "string",
          "description": "Enable/disable split horizon.\n"
        }
      },
      "type": "object",
      "required": [
        "flags",
        "name",
        "splitHorizon",
        "splitHorizonStatus"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipngNeighbor:getRipngNeighbor": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 link-local address.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "interface",
        "ip6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipngNetwork:getRipngNetwork": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Network IPv6 link-local prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "prefix"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipngOffsetList:getRipngOffsetList": {
      "properties": {
        "accessList6": {
          "type": "string",
          "description": "IPv6 access list name.\n"
        },
        "direction": {
          "type": "string",
          "description": "Offset list direction.\n"
        },
        "id": {
          "type": "integer",
          "description": "Offset-list ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "offset": {
          "type": "integer",
          "description": "offset\n"
        },
        "status": {
          "type": "string",
          "description": "status\n"
        }
      },
      "type": "object",
      "required": [
        "accessList6",
        "direction",
        "id",
        "interface",
        "offset",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipngPassiveInterface:getRipngPassiveInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRipngRedistribute:getRipngRedistribute": {
      "properties": {
        "metric": {
          "type": "integer",
          "description": "Redistribute metric setting.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "routemap": {
          "type": "string",
          "description": "Route map name.\n"
        },
        "status": {
          "type": "string",
          "description": "status\n"
        }
      },
      "type": "object",
      "required": [
        "metric",
        "name",
        "routemap",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRoutemapRule:getRoutemapRule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action.\n"
        },
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "matchAsPath": {
          "type": "string",
          "description": "Match BGP AS path list.\n"
        },
        "matchCommunity": {
          "type": "string",
          "description": "Match BGP community list.\n"
        },
        "matchCommunityExact": {
          "type": "string",
          "description": "Enable/disable exact matching of communities.\n"
        },
        "matchExtcommunity": {
          "type": "string",
          "description": "Match BGP extended community list.\n"
        },
        "matchExtcommunityExact": {
          "type": "string",
          "description": "Enable/disable exact matching of extended communities.\n"
        },
        "matchFlags": {
          "type": "integer",
          "description": "BGP flag value to match (0 - 65535)\n"
        },
        "matchInterface": {
          "type": "string",
          "description": "Match interface configuration.\n"
        },
        "matchIp6Address": {
          "type": "string",
          "description": "Match IPv6 address permitted by access-list6 or prefix-list6.\n"
        },
        "matchIp6Nexthop": {
          "type": "string",
          "description": "Match next hop IPv6 address passed by access-list6 or prefix-list6.\n"
        },
        "matchIpAddress": {
          "type": "string",
          "description": "Match IP address permitted by access-list or prefix-list.\n"
        },
        "matchIpNexthop": {
          "type": "string",
          "description": "Match next hop IP address passed by access-list or prefix-list.\n"
        },
        "matchMetric": {
          "type": "integer",
          "description": "Match metric for redistribute routes.\n"
        },
        "matchOrigin": {
          "type": "string",
          "description": "Match BGP origin code.\n"
        },
        "matchRouteType": {
          "type": "string",
          "description": "Match route type.\n"
        },
        "matchTag": {
          "type": "integer",
          "description": "Match tag.\n"
        },
        "matchVrf": {
          "type": "integer",
          "description": "Match VRF ID.\n"
        },
        "setAggregatorAs": {
          "type": "integer",
          "description": "BGP aggregator AS.\n"
        },
        "setAggregatorIp": {
          "type": "string",
          "description": "BGP aggregator IP.\n"
        },
        "setAspathAction": {
          "type": "string",
          "description": "Specify preferred action of set-aspath.\n"
        },
        "setAspaths": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetRoutemapRuleSetAspath:getRoutemapRuleSetAspath"
          },
          "description": "Prepend BGP AS path attribute. The structure of `set_aspath` block is documented below.\n"
        },
        "setAtomicAggregate": {
          "type": "string",
          "description": "Enable/disable BGP atomic aggregate attribute.\n"
        },
        "setCommunities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetRoutemapRuleSetCommunity:getRoutemapRuleSetCommunity"
          },
          "description": "BGP community attribute. The structure of `set_community` block is documented below.\n"
        },
        "setCommunityAdditive": {
          "type": "string",
          "description": "Enable/disable adding set-community to existing community.\n"
        },
        "setCommunityDelete": {
          "type": "string",
          "description": "Delete communities matching community list.\n"
        },
        "setDampeningMaxSuppress": {
          "type": "integer",
          "description": "Maximum duration to suppress a route (1 - 255 min, 0 = unset).\n"
        },
        "setDampeningReachabilityHalfLife": {
          "type": "integer",
          "description": "Reachability half-life time for the penalty (1 - 45 min, 0 = unset).\n"
        },
        "setDampeningReuse": {
          "type": "integer",
          "description": "Value to start reusing a route (1 - 20000, 0 = unset).\n"
        },
        "setDampeningSuppress": {
          "type": "integer",
          "description": "Value to start suppressing a route (1 - 20000, 0 = unset).\n"
        },
        "setDampeningUnreachabilityHalfLife": {
          "type": "integer",
          "description": "Unreachability Half-life time for the penalty (1 - 45 min, 0 = unset)\n"
        },
        "setExtcommunityRts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetRoutemapRuleSetExtcommunityRt:getRoutemapRuleSetExtcommunityRt"
          },
          "description": "Route Target extended community. The structure of `set_extcommunity_rt` block is documented below.\n"
        },
        "setExtcommunitySoos": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:router%2FgetRoutemapRuleSetExtcommunitySoo:getRoutemapRuleSetExtcommunitySoo"
          },
          "description": "Site-of-Origin extended community. The structure of `set_extcommunity_soo` block is documented below.\n"
        },
        "setFlags": {
          "type": "integer",
          "description": "BGP flags value (0 - 65535)\n"
        },
        "setIp6Nexthop": {
          "type": "string",
          "description": "IPv6 global address of next hop.\n"
        },
        "setIp6NexthopLocal": {
          "type": "string",
          "description": "IPv6 local address of next hop.\n"
        },
        "setIpNexthop": {
          "type": "string",
          "description": "IP address of next hop.\n"
        },
        "setIpPrefsrc": {
          "type": "string",
          "description": "IP address of preferred source.\n"
        },
        "setLocalPreference": {
          "type": "integer",
          "description": "BGP local preference path attribute.\n"
        },
        "setMetric": {
          "type": "integer",
          "description": "Metric value.\n"
        },
        "setMetricType": {
          "type": "string",
          "description": "Metric type.\n"
        },
        "setOrigin": {
          "type": "string",
          "description": "BGP origin code.\n"
        },
        "setOriginatorId": {
          "type": "string",
          "description": "BGP originator ID attribute.\n"
        },
        "setPriority": {
          "type": "integer",
          "description": "Priority for routing table.\n"
        },
        "setRouteTag": {
          "type": "integer",
          "description": "Route tag for routing table.\n"
        },
        "setTag": {
          "type": "integer",
          "description": "Tag value.\n"
        },
        "setVpnv4Nexthop": {
          "type": "string",
          "description": "IP address of VPNv4 next-hop.\n"
        },
        "setVpnv6Nexthop": {
          "type": "string",
          "description": "IPv6 global address of VPNv6 next-hop.\n"
        },
        "setVpnv6NexthopLocal": {
          "type": "string",
          "description": "IPv6 link-local address of VPNv6 next-hop.\n"
        },
        "setWeight": {
          "type": "integer",
          "description": "BGP weight for routing table.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "id",
        "matchAsPath",
        "matchCommunity",
        "matchCommunityExact",
        "matchExtcommunity",
        "matchExtcommunityExact",
        "matchFlags",
        "matchInterface",
        "matchIp6Address",
        "matchIp6Nexthop",
        "matchIpAddress",
        "matchIpNexthop",
        "matchMetric",
        "matchOrigin",
        "matchRouteType",
        "matchTag",
        "matchVrf",
        "setAggregatorAs",
        "setAggregatorIp",
        "setAspathAction",
        "setAspaths",
        "setAtomicAggregate",
        "setCommunities",
        "setCommunityAdditive",
        "setCommunityDelete",
        "setDampeningMaxSuppress",
        "setDampeningReachabilityHalfLife",
        "setDampeningReuse",
        "setDampeningSuppress",
        "setDampeningUnreachabilityHalfLife",
        "setExtcommunityRts",
        "setExtcommunitySoos",
        "setFlags",
        "setIp6Nexthop",
        "setIp6NexthopLocal",
        "setIpNexthop",
        "setIpPrefsrc",
        "setLocalPreference",
        "setMetric",
        "setMetricType",
        "setOrigin",
        "setOriginatorId",
        "setPriority",
        "setRouteTag",
        "setTag",
        "setVpnv4Nexthop",
        "setVpnv6Nexthop",
        "setVpnv6NexthopLocal",
        "setWeight"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRoutemapRuleSetAspath:getRoutemapRuleSetAspath": {
      "properties": {
        "as": {
          "type": "string",
          "description": "AS number (0 - 42949672). NOTE: Use quotes for repeating numbers, e.g.: \"1 1 2\"\n"
        }
      },
      "type": "object",
      "required": [
        "as"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRoutemapRuleSetCommunity:getRoutemapRuleSetCommunity": {
      "properties": {
        "community": {
          "type": "string",
          "description": "AA:NN\n"
        }
      },
      "type": "object",
      "required": [
        "community"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRoutemapRuleSetExtcommunityRt:getRoutemapRuleSetExtcommunityRt": {
      "properties": {
        "community": {
          "type": "string",
          "description": "AA:NN\n"
        }
      },
      "type": "object",
      "required": [
        "community"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getRoutemapRuleSetExtcommunitySoo:getRoutemapRuleSetExtcommunitySoo": {
      "properties": {
        "community": {
          "type": "string",
          "description": "AA:NN\n"
        }
      },
      "type": "object",
      "required": [
        "community"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getStatic6SdwanZone:getStatic6SdwanZone": {
      "properties": {
        "name": {
          "type": "string",
          "description": "SD-WAN zone name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/getStaticSdwanZone:getStaticSdwanZone": {
      "properties": {
        "name": {
          "type": "string",
          "description": "SD-WAN zone name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:router/ospf/OspfinterfaceMd5Key:OspfinterfaceMd5Key": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Key ID (1 - 255).\n"
        },
        "keyString": {
          "type": "string",
          "description": "Password for the key.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:router/ospf6/Ospf6interfaceIpsecKey:Ospf6interfaceIpsecKey": {
      "properties": {
        "authKey": {
          "type": "string",
          "description": "Authentication key.\n"
        },
        "encKey": {
          "type": "string",
          "description": "Encryption key.\n"
        },
        "spi": {
          "type": "integer",
          "description": "Security Parameters Index.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "spi"
          ]
        }
      }
    },
    "fortios:router/ospf6/Ospf6interfaceNeighbor:Ospf6interfaceNeighbor": {
      "properties": {
        "cost": {
          "type": "integer",
          "description": "Cost of the interface, value range from 0 to 65535, 0 means auto-cost.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 link local address of the neighbor.\n"
        },
        "pollInterval": {
          "type": "integer",
          "description": "Poll interval time in seconds.\n"
        },
        "priority": {
          "type": "integer",
          "description": "priority\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cost",
            "ip6",
            "pollInterval",
            "priority"
          ]
        }
      }
    },
    "fortios:rule/FmwpMetadata:FmwpMetadata": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "metaid": {
          "type": "integer",
          "description": "Meta ID.\n"
        },
        "valueid": {
          "type": "integer",
          "description": "Value ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "metaid",
            "valueid"
          ]
        }
      }
    },
    "fortios:rule/OtdtMetadata:OtdtMetadata": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "metaid": {
          "type": "integer",
          "description": "Meta ID.\n"
        },
        "valueid": {
          "type": "integer",
          "description": "Value ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "metaid",
            "valueid"
          ]
        }
      }
    },
    "fortios:rule/OtdtParameter:OtdtParameter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Parameter name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:rule/OtvpMetadata:OtvpMetadata": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "metaid": {
          "type": "integer",
          "description": "Meta ID.\n"
        },
        "valueid": {
          "type": "integer",
          "description": "Value ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "metaid",
            "valueid"
          ]
        }
      }
    },
    "fortios:switchcontroller/DynamicportpolicyPolicy:DynamicportpolicyPolicy": {
      "properties": {
        "bouncePortLink": {
          "type": "string",
          "description": "Enable/disable bouncing (administratively bring the link down, up) of a switch port where this policy is applied. Helps to clear and reassign VLAN from lldp-profile. Valid values: `disable`, `enable`.\n"
        },
        "category": {
          "type": "string",
          "description": "Category of Dynamic port policy. Valid values: `device`, `interface-tag`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for the policy.\n"
        },
        "family": {
          "type": "string",
          "description": "Policy matching family.\n"
        },
        "host": {
          "type": "string",
          "description": "Policy matching host.\n"
        },
        "hwVendor": {
          "type": "string",
          "description": "Match policy based on hardware vendor.\n"
        },
        "interfaceTags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FDynamicportpolicyPolicyInterfaceTag:DynamicportpolicyPolicyInterfaceTag"
          },
          "description": "Policy matching the FortiSwitch interface object tags. The structure of `interface_tags` block is documented below.\n"
        },
        "lldpProfile": {
          "type": "string",
          "description": "LLDP profile to be applied when using this policy.\n"
        },
        "mac": {
          "type": "string",
          "description": "Policy matching MAC address.\n"
        },
        "matchPeriod": {
          "type": "integer",
          "description": "Number of days the matched devices will be retained (0 - 120, 0 = always retain).\n"
        },
        "matchType": {
          "type": "string",
          "description": "Match and retain the devices based on the type. Valid values: `dynamic`, `override`.\n"
        },
        "n8021x": {
          "type": "string",
          "description": "802.1x security policy to be applied when using this policy.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "qosPolicy": {
          "type": "string",
          "description": "QoS policy to be applied when using this policy.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable policy. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Policy matching type.\n"
        },
        "vlanPolicy": {
          "type": "string",
          "description": "VLAN policy to be applied when using this policy.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "bouncePortLink",
            "category",
            "description",
            "family",
            "host",
            "hwVendor",
            "lldpProfile",
            "mac",
            "matchPeriod",
            "matchType",
            "n8021x",
            "name",
            "qosPolicy",
            "status",
            "type",
            "vlanPolicy"
          ]
        }
      }
    },
    "fortios:switchcontroller/DynamicportpolicyPolicyInterfaceTag:DynamicportpolicyPolicyInterfaceTag": {
      "properties": {
        "tagName": {
          "type": "string",
          "description": "FortiSwitch port tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "tagName"
          ]
        }
      }
    },
    "fortios:switchcontroller/FlowtrackingAggregate:FlowtrackingAggregate": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Aggregate id.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address to group all matching traffic sessions to a flow.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ip"
          ]
        }
      }
    },
    "fortios:switchcontroller/FlowtrackingCollector:FlowtrackingCollector": {
      "properties": {
        "ip": {
          "type": "string",
          "description": "Collector IP address.\n"
        },
        "name": {
          "type": "string",
          "description": "Collector name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Collector port number(0-65535, default:0, netflow:2055, ipfix:4739).\n"
        },
        "transport": {
          "type": "string",
          "description": "Collector L4 transport protocol for exporting packets. Valid values: `udp`, `tcp`, `sctp`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ip",
            "name",
            "port",
            "transport"
          ]
        }
      }
    },
    "fortios:switchcontroller/FortilinksettingsNacPorts:FortilinksettingsNacPorts": {
      "properties": {
        "bounceNacPort": {
          "type": "string",
          "description": "Enable/disable bouncing (administratively bring the link down, up) of a switch port when NAC mode is configured on the port. Helps to re-initiate the DHCP process for a device. Valid values: `disable`, `enable`.\n"
        },
        "lanSegment": {
          "type": "string",
          "description": "Enable/disable LAN segment feature on the FortiLink interface. Valid values: `enabled`, `disabled`.\n"
        },
        "memberChange": {
          "type": "integer",
          "description": "Member change flag.\n"
        },
        "nacLanInterface": {
          "type": "string",
          "description": "Configure NAC LAN interface.\n"
        },
        "nacSegmentVlans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FFortilinksettingsNacPortsNacSegmentVlan:FortilinksettingsNacPortsNacSegmentVlan"
          },
          "description": "Configure NAC segment VLANs. The structure of `nac_segment_vlans` block is documented below.\n"
        },
        "onboardingVlan": {
          "type": "string",
          "description": "Default NAC Onboarding VLAN when NAC devices are discovered.\n"
        },
        "parentKey": {
          "type": "string",
          "description": "Parent key name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "bounceNacPort",
            "lanSegment",
            "memberChange",
            "nacLanInterface",
            "onboardingVlan",
            "parentKey"
          ]
        }
      }
    },
    "fortios:switchcontroller/FortilinksettingsNacPortsNacSegmentVlan:FortilinksettingsNacPortsNacSegmentVlan": {
      "properties": {
        "vlanName": {
          "type": "string",
          "description": "VLAN interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vlanName"
          ]
        }
      }
    },
    "fortios:switchcontroller/GlobalCustomCommand:GlobalCustomCommand": {
      "properties": {
        "commandEntry": {
          "type": "string",
          "description": "List of FortiSwitch commands.\n"
        },
        "commandName": {
          "type": "string",
          "description": "Name of custom command to push to all FortiSwitches in VDOM.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "commandEntry",
            "commandName"
          ]
        }
      }
    },
    "fortios:switchcontroller/GlobalDisableDiscovery:GlobalDisableDiscovery": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Managed device ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:switchcontroller/LldpprofileCustomTlv:LldpprofileCustomTlv": {
      "properties": {
        "informationString": {
          "type": "string",
          "description": "Organizationally defined information string (0 - 507 hexadecimal bytes).\n"
        },
        "name": {
          "type": "string",
          "description": "TLV name (not sent).\n"
        },
        "oui": {
          "type": "string",
          "description": "Organizationally unique identifier (OUI), a 3-byte hexadecimal number, for this TLV.\n"
        },
        "subtype": {
          "type": "integer",
          "description": "Organizationally defined subtype (0 - 255).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "informationString",
            "name",
            "oui",
            "subtype"
          ]
        }
      }
    },
    "fortios:switchcontroller/LldpprofileMedLocationService:LldpprofileMedLocationService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Location service type name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this TLV. Valid values: `disable`, `enable`.\n"
        },
        "sysLocationId": {
          "type": "string",
          "description": "Location service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "status",
            "sysLocationId"
          ]
        }
      }
    },
    "fortios:switchcontroller/LldpprofileMedNetworkPolicy:LldpprofileMedNetworkPolicy": {
      "properties": {
        "assignVlan": {
          "type": "string",
          "description": "Enable/disable VLAN assignment when this profile is applied on managed FortiSwitch port. Valid values: `disable`, `enable`.\n"
        },
        "dscp": {
          "type": "integer",
          "description": "Advertised Differentiated Services Code Point (DSCP) value, a packet header value indicating the level of service requested for traffic, such as high priority or best effort delivery.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy type name.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Advertised Layer 2 priority (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this TLV. Valid values: `disable`, `enable`.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "ID of VLAN to advertise, if configured on port (0 - 4094, 0 = priority tag).\n"
        },
        "vlanIntf": {
          "type": "string",
          "description": "VLAN interface to advertise; if configured on port.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "assignVlan",
            "dscp",
            "name",
            "priority",
            "status",
            "vlan",
            "vlanIntf"
          ]
        }
      }
    },
    "fortios:switchcontroller/LocationAddressCivic:LocationAddressCivic": {
      "properties": {
        "additional": {
          "type": "string",
          "description": "Location additional details.\n"
        },
        "additionalCode": {
          "type": "string",
          "description": "Location additional code details.\n"
        },
        "block": {
          "type": "string",
          "description": "Location block details.\n"
        },
        "branchRoad": {
          "type": "string",
          "description": "Location branch road details.\n"
        },
        "building": {
          "type": "string",
          "description": "Location building details.\n"
        },
        "city": {
          "type": "string",
          "description": "Location city details.\n"
        },
        "cityDivision": {
          "type": "string",
          "description": "Location city division details.\n"
        },
        "country": {
          "type": "string",
          "description": "The two-letter ISO 3166 country code in capital ASCII letters eg. US, CA, DK, DE.\n"
        },
        "countrySubdivision": {
          "type": "string",
          "description": "National subdivisions (state, canton, region, province, or prefecture).\n"
        },
        "county": {
          "type": "string",
          "description": "County, parish, gun (JP), or district (IN).\n"
        },
        "direction": {
          "type": "string",
          "description": "Leading street direction.\n"
        },
        "floor": {
          "type": "string",
          "description": "Floor.\n"
        },
        "landmark": {
          "type": "string",
          "description": "Landmark or vanity address.\n"
        },
        "language": {
          "type": "string",
          "description": "Language.\n"
        },
        "name": {
          "type": "string",
          "description": "Name (residence and office occupant).\n"
        },
        "number": {
          "type": "string",
          "description": "House number.\n"
        },
        "numberSuffix": {
          "type": "string",
          "description": "House number suffix.\n"
        },
        "parentKey": {
          "type": "string",
          "description": "Parent key name.\n"
        },
        "placeType": {
          "type": "string",
          "description": "Placetype.\n"
        },
        "postOfficeBox": {
          "type": "string",
          "description": "Post office box.\n"
        },
        "postalCommunity": {
          "type": "string",
          "description": "Postal community name.\n"
        },
        "primaryRoad": {
          "type": "string",
          "description": "Primary road name.\n"
        },
        "roadSection": {
          "type": "string",
          "description": "Road section.\n"
        },
        "room": {
          "type": "string",
          "description": "Room number.\n"
        },
        "script": {
          "type": "string",
          "description": "Script used to present the address information.\n"
        },
        "seat": {
          "type": "string",
          "description": "Seat number.\n"
        },
        "street": {
          "type": "string",
          "description": "Street.\n"
        },
        "streetNamePostMod": {
          "type": "string",
          "description": "Street name post modifier.\n"
        },
        "streetNamePreMod": {
          "type": "string",
          "description": "Street name pre modifier.\n"
        },
        "streetSuffix": {
          "type": "string",
          "description": "Street suffix.\n"
        },
        "subBranchRoad": {
          "type": "string",
          "description": "Sub branch road name.\n"
        },
        "trailingStrSuffix": {
          "type": "string",
          "description": "Trailing street suffix.\n"
        },
        "unit": {
          "type": "string",
          "description": "Unit (apartment, suite).\n"
        },
        "zip": {
          "type": "string",
          "description": "Postal/zip code.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "additional",
            "additionalCode",
            "block",
            "branchRoad",
            "building",
            "city",
            "cityDivision",
            "country",
            "countrySubdivision",
            "county",
            "direction",
            "floor",
            "landmark",
            "language",
            "name",
            "number",
            "numberSuffix",
            "parentKey",
            "placeType",
            "postOfficeBox",
            "postalCommunity",
            "primaryRoad",
            "roadSection",
            "room",
            "script",
            "seat",
            "street",
            "streetNamePostMod",
            "streetNamePreMod",
            "streetSuffix",
            "subBranchRoad",
            "trailingStrSuffix",
            "unit",
            "zip"
          ]
        }
      }
    },
    "fortios:switchcontroller/LocationCoordinates:LocationCoordinates": {
      "properties": {
        "altitude": {
          "type": "string",
          "description": "+/- Floating point no. eg. 117.47.\n"
        },
        "altitudeUnit": {
          "type": "string",
          "description": "Configure the unit for which the altitude is to (m = meters, f = floors of a building). Valid values: `m`, `f`.\n"
        },
        "datum": {
          "type": "string",
          "description": "WGS84, NAD83, NAD83/MLLW. Valid values: `WGS84`, `NAD83`, `NAD83/MLLW`.\n"
        },
        "latitude": {
          "type": "string",
          "description": "Floating point starting with +/- or ending with (N or S). For example, +/-16.67 or 16.67N.\n"
        },
        "longitude": {
          "type": "string",
          "description": "Floating point starting with +/- or ending with (N or S). For example, +/-26.789 or 26.789E.\n"
        },
        "parentKey": {
          "type": "string",
          "description": "Parent key name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "altitude",
            "altitudeUnit",
            "datum",
            "latitude",
            "longitude",
            "parentKey"
          ]
        }
      }
    },
    "fortios:switchcontroller/LocationElinNumber:LocationElinNumber": {
      "properties": {
        "elinNum": {
          "type": "string",
          "description": "Configure ELIN callback number.\n"
        },
        "parentKey": {
          "type": "string",
          "description": "Parent key name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "elinNum",
            "parentKey"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchCustomCommand:ManagedswitchCustomCommand": {
      "properties": {
        "commandEntry": {
          "type": "string",
          "description": "List of FortiSwitch commands.\n"
        },
        "commandName": {
          "type": "string",
          "description": "Names of commands to be pushed to this FortiSwitch device, as configured under config switch-controller custom-command.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "commandEntry",
            "commandName"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchDhcpSnoopingStaticClient:ManagedswitchDhcpSnoopingStaticClient": {
      "properties": {
        "ip": {
          "type": "string",
          "description": "Client static IP address.\n"
        },
        "mac": {
          "type": "string",
          "description": "Client MAC address.\n"
        },
        "name": {
          "type": "string",
          "description": "Client name.\n"
        },
        "port": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "vlan": {
          "type": "string",
          "description": "VLAN name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ip",
            "mac",
            "name",
            "port",
            "vlan"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchIgmpSnooping:ManagedswitchIgmpSnooping": {
      "properties": {
        "agingTime": {
          "type": "integer",
          "description": "Maximum time to retain a multicast snooping entry for which no packets have been seen (15 - 3600 sec, default = 300).\n"
        },
        "floodUnknownMulticast": {
          "type": "string",
          "description": "Enable/disable unknown multicast flooding. Valid values: `enable`, `disable`.\n"
        },
        "localOverride": {
          "type": "string",
          "description": "Enable/disable overriding the global IGMP snooping configuration. Valid values: `enable`, `disable`.\n"
        },
        "vlans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchIgmpSnoopingVlan:ManagedswitchIgmpSnoopingVlan"
          },
          "description": "Configure IGMP snooping VLAN. The structure of `vlans` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "agingTime",
            "floodUnknownMulticast",
            "localOverride"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchIgmpSnoopingVlan:ManagedswitchIgmpSnoopingVlan": {
      "properties": {
        "proxy": {
          "type": "string",
          "description": "IGMP snooping proxy for the VLAN interface. Valid values: `disable`, `enable`, `global`.\n"
        },
        "querier": {
          "type": "string",
          "description": "Enable/disable IGMP snooping querier for the VLAN interface. Valid values: `disable`, `enable`.\n"
        },
        "querierAddr": {
          "type": "string",
          "description": "IGMP snooping querier address.\n"
        },
        "version": {
          "type": "integer",
          "description": "IGMP snooping querier version.\n\nThe `n802_1x_settings` block supports:\n"
        },
        "vlanName": {
          "type": "string",
          "description": "List of FortiSwitch VLANs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "proxy",
            "querier",
            "querierAddr",
            "version",
            "vlanName"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchIpSourceGuard:ManagedswitchIpSourceGuard": {
      "properties": {
        "bindingEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchIpSourceGuardBindingEntry:ManagedswitchIpSourceGuardBindingEntry"
          },
          "description": "IP and MAC address configuration. The structure of `binding_entry` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "port": {
          "type": "string",
          "description": "Ingress interface to which source guard is bound.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "port"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchIpSourceGuardBindingEntry:ManagedswitchIpSourceGuardBindingEntry": {
      "properties": {
        "entryName": {
          "type": "string",
          "description": "Configure binding pair.\n"
        },
        "ip": {
          "type": "string",
          "description": "Source IP for this rule.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address for this rule.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "entryName",
            "ip",
            "mac"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchMirror:ManagedswitchMirror": {
      "properties": {
        "dst": {
          "type": "string",
          "description": "Destination port.\n"
        },
        "name": {
          "type": "string",
          "description": "Mirror name.\n"
        },
        "srcEgresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchMirrorSrcEgress:ManagedswitchMirrorSrcEgress"
          },
          "description": "Source egress interfaces. The structure of `src_egress` block is documented below.\n"
        },
        "srcIngresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchMirrorSrcIngress:ManagedswitchMirrorSrcIngress"
          },
          "description": "Source ingress interfaces. The structure of `src_ingress` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Active/inactive mirror configuration. Valid values: `active`, `inactive`.\n"
        },
        "switchingPacket": {
          "type": "string",
          "description": "Enable/disable switching functionality when mirroring. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dst",
            "name",
            "status",
            "switchingPacket"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchMirrorSrcEgress:ManagedswitchMirrorSrcEgress": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchMirrorSrcIngress:ManagedswitchMirrorSrcIngress": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchN8021xSettings:ManagedswitchN8021xSettings": {
      "properties": {
        "linkDownAuth": {
          "type": "string"
        },
        "localOverride": {
          "type": "string"
        },
        "mabReauth": {
          "type": "string"
        },
        "macCalledStationDelimiter": {
          "type": "string"
        },
        "macCallingStationDelimiter": {
          "type": "string"
        },
        "macCase": {
          "type": "string"
        },
        "macPasswordDelimiter": {
          "type": "string"
        },
        "macUsernameDelimiter": {
          "type": "string"
        },
        "maxReauthAttempt": {
          "type": "integer"
        },
        "reauthPeriod": {
          "type": "integer"
        },
        "txPeriod": {
          "type": "integer"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "linkDownAuth",
            "localOverride",
            "mabReauth",
            "macCalledStationDelimiter",
            "macCallingStationDelimiter",
            "macCase",
            "macPasswordDelimiter",
            "macUsernameDelimiter",
            "maxReauthAttempt",
            "reauthPeriod",
            "txPeriod"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchPort:ManagedswitchPort": {
      "properties": {
        "accessMode": {
          "type": "string",
          "description": "Access mode of the port.\n"
        },
        "aclGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPortAclGroup:ManagedswitchPortAclGroup"
          },
          "description": "ACL groups on this port. The structure of `acl_group` block is documented below.\n"
        },
        "aggregatorMode": {
          "type": "string",
          "description": "LACP member select mode. Valid values: `bandwidth`, `count`.\n"
        },
        "allowArpMonitor": {
          "type": "string",
          "description": "Enable/Disable allow ARP monitor. Valid values: `disable`, `enable`.\n"
        },
        "allowedVlans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPortAllowedVlan:ManagedswitchPortAllowedVlan"
          },
          "description": "Configure switch port tagged vlans The structure of `allowed_vlans` block is documented below.\n"
        },
        "allowedVlansAll": {
          "type": "string",
          "description": "Enable/disable all defined vlans on this port. Valid values: `enable`, `disable`.\n"
        },
        "arpInspectionTrust": {
          "type": "string",
          "description": "Trusted or untrusted dynamic ARP inspection. Valid values: `untrusted`, `trusted`.\n"
        },
        "authenticatedPort": {
          "type": "integer",
          "description": "Peer to Peer Authenticated port.\n"
        },
        "bundle": {
          "type": "string",
          "description": "Enable/disable Link Aggregation Group (LAG) bundling for non-FortiLink interfaces. Valid values: `enable`, `disable`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for port.\n"
        },
        "dhcpSnoopOption82Overrides": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPortDhcpSnoopOption82Override:ManagedswitchPortDhcpSnoopOption82Override"
          },
          "description": "Configure DHCP snooping option 82 override. The structure of `dhcp_snoop_option82_override` block is documented below.\n"
        },
        "dhcpSnoopOption82Trust": {
          "type": "string",
          "description": "Enable/disable allowance of DHCP with option-82 on untrusted interface. Valid values: `enable`, `disable`.\n"
        },
        "dhcpSnooping": {
          "type": "string",
          "description": "Trusted or untrusted DHCP-snooping interface. Valid values: `untrusted`, `trusted`.\n"
        },
        "discardMode": {
          "type": "string",
          "description": "Configure discard mode for port. Valid values: `none`, `all-untagged`, `all-tagged`.\n"
        },
        "edgePort": {
          "type": "string",
          "description": "Enable/disable this interface as an edge port, bridging connections between workstations and/or computers. Valid values: `enable`, `disable`.\n"
        },
        "encryptedPort": {
          "type": "integer",
          "description": "Peer to Peer Encrypted port.\n"
        },
        "exportTags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPortExportTag:ManagedswitchPortExportTag"
          },
          "description": "Switch controller export tag name. The structure of `export_tags` block is documented below.\n"
        },
        "exportTo": {
          "type": "string",
          "description": "Export managed-switch port to a tenant VDOM.\n"
        },
        "exportToPool": {
          "type": "string",
          "description": "Switch controller export port to pool-list.\n"
        },
        "exportToPoolFlag": {
          "type": "integer",
          "description": "Switch controller export port to pool-list.\n"
        },
        "fallbackPort": {
          "type": "string",
          "description": "LACP fallback port.\n"
        },
        "fecCapable": {
          "type": "integer",
          "description": "FEC capable.\n"
        },
        "fecState": {
          "type": "string",
          "description": "State of forward error correction.\n"
        },
        "fgtPeerDeviceName": {
          "type": "string",
          "description": "FGT peer device name.\n"
        },
        "fgtPeerPortName": {
          "type": "string",
          "description": "FGT peer port name.\n"
        },
        "fiberPort": {
          "type": "integer",
          "description": "Fiber-port.\n"
        },
        "flags": {
          "type": "integer",
          "description": "Port properties flags.\n"
        },
        "flapDuration": {
          "type": "integer",
          "description": "Period over which flap events are calculated (seconds).\n"
        },
        "flapRate": {
          "type": "integer",
          "description": "Number of stage change events needed within flap-duration.\n"
        },
        "flapTimeout": {
          "type": "integer",
          "description": "Flap guard disabling protection (min).\n"
        },
        "flapguard": {
          "type": "string",
          "description": "Enable/disable flap guard. Valid values: `enable`, `disable`.\n"
        },
        "flowControl": {
          "type": "string",
          "description": "Flow control direction. Valid values: `disable`, `tx`, `rx`, `both`.\n"
        },
        "fortilinkPort": {
          "type": "integer",
          "description": "FortiLink uplink port.\n"
        },
        "fortiswitchAcls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPortFortiswitchAcl:ManagedswitchPortFortiswitchAcl"
          },
          "description": "ACLs on this port. The structure of `fortiswitch_acls` block is documented below.\n"
        },
        "igmpSnooping": {
          "type": "string",
          "description": "Set IGMP snooping mode for the physical port interface. Valid values: `enable`, `disable`.\n"
        },
        "igmpSnoopingFloodReports": {
          "type": "string",
          "description": "Enable/disable flooding of IGMP reports to this interface when igmp-snooping enabled. Valid values: `enable`, `disable`.\n"
        },
        "igmpsFloodReports": {
          "type": "string",
          "description": "Enable/disable flooding of IGMP reports to this interface when igmp-snooping enabled. Valid values: `enable`, `disable`.\n"
        },
        "igmpsFloodTraffic": {
          "type": "string",
          "description": "Enable/disable flooding of IGMP snooping traffic to this interface. Valid values: `enable`, `disable`.\n"
        },
        "interfaceTags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPortInterfaceTag:ManagedswitchPortInterfaceTag"
          },
          "description": "Tag(s) associated with the interface for various features including virtual port pool, dynamic port policy. The structure of `interface_tags` block is documented below.\n"
        },
        "ipSourceGuard": {
          "type": "string",
          "description": "Enable/disable IP source guard. Valid values: `disable`, `enable`.\n"
        },
        "islLocalTrunkName": {
          "type": "string",
          "description": "ISL local trunk name.\n"
        },
        "islPeerDeviceName": {
          "type": "string",
          "description": "ISL peer device name.\n"
        },
        "islPeerDeviceSn": {
          "type": "string",
          "description": "ISL peer device serial number.\n"
        },
        "islPeerPortName": {
          "type": "string",
          "description": "ISL peer port name.\n"
        },
        "lacpSpeed": {
          "type": "string",
          "description": "end Link Aggregation Control Protocol (LACP) messages every 30 seconds (slow) or every second (fast). Valid values: `slow`, `fast`.\n"
        },
        "learningLimit": {
          "type": "integer",
          "description": "Limit the number of dynamic MAC addresses on this Port (1 - 128, 0 = no limit, default).\n"
        },
        "linkStatus": {
          "type": "string",
          "description": "Port link status. Valid values: `up`, `down`.\n"
        },
        "lldpProfile": {
          "type": "string",
          "description": "LLDP port TLV profile.\n"
        },
        "lldpStatus": {
          "type": "string",
          "description": "LLDP transmit and receive status. Valid values: `disable`, `rx-only`, `tx-only`, `tx-rx`.\n"
        },
        "loopGuard": {
          "type": "string",
          "description": "Enable/disable loop-guard on this interface, an STP optimization used to prevent network loops. Valid values: `enabled`, `disabled`.\n"
        },
        "loopGuardTimeout": {
          "type": "integer",
          "description": "Loop-guard timeout (0 - 120 min, default = 45).\n"
        },
        "macAddr": {
          "type": "string",
          "description": "Port/Trunk MAC.\n"
        },
        "matchedDppIntfTags": {
          "type": "string",
          "description": "Matched interface tags in the dynamic port policy.\n"
        },
        "matchedDppPolicy": {
          "type": "string",
          "description": "Matched child policy in the dynamic port policy.\n"
        },
        "maxBundle": {
          "type": "integer",
          "description": "Maximum size of LAG bundle (1 - 24, default = 24)\n"
        },
        "mcastSnoopingFloodTraffic": {
          "type": "string",
          "description": "Enable/disable flooding of IGMP snooping traffic to this interface. Valid values: `enable`, `disable`.\n"
        },
        "mclag": {
          "type": "string",
          "description": "Enable/disable multi-chassis link aggregation (MCLAG). Valid values: `enable`, `disable`.\n"
        },
        "mclagIclPort": {
          "type": "integer",
          "description": "MCLAG-ICL port.\n"
        },
        "mediaType": {
          "type": "string",
          "description": "Media type.\n"
        },
        "memberWithdrawalBehavior": {
          "type": "string",
          "description": "Port behavior after it withdraws because of loss of control packets. Valid values: `forward`, `block`.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPortMember:ManagedswitchPortMember"
          },
          "description": "Aggregated LAG bundle interfaces. The structure of `members` block is documented below.\n"
        },
        "minBundle": {
          "type": "integer",
          "description": "Minimum size of LAG bundle (1 - 24, default = 1)\n"
        },
        "mode": {
          "type": "string",
          "description": "LACP mode: ignore and do not send control messages, or negotiate 802.3ad aggregation passively or actively. Valid values: `static`, `lacp-passive`, `lacp-active`.\n"
        },
        "p2pPort": {
          "type": "integer",
          "description": "General peer to peer tunnel port.\n"
        },
        "packetSampleRate": {
          "type": "integer",
          "description": "Packet sampling rate (0 - 99999 p/sec).\n"
        },
        "packetSampler": {
          "type": "string",
          "description": "Enable/disable packet sampling on this interface. Valid values: `enabled`, `disabled`.\n"
        },
        "pauseMeter": {
          "type": "integer",
          "description": "Configure ingress pause metering rate, in kbps (default = 0, disabled).\n"
        },
        "pauseMeterResume": {
          "type": "string",
          "description": "Resume threshold for resuming traffic on ingress port. Valid values: `75%`, `50%`, `25%`.\n"
        },
        "poeCapable": {
          "type": "integer",
          "description": "PoE capable.\n"
        },
        "poeMaxPower": {
          "type": "string",
          "description": "PoE maximum power.\n"
        },
        "poeModeBtCabable": {
          "type": "integer",
          "description": "PoE mode IEEE 802.3BT capable.\n"
        },
        "poePortMode": {
          "type": "string",
          "description": "Configure PoE port mode. Valid values: `ieee802-3af`, `ieee802-3at`, `ieee802-3bt`.\n"
        },
        "poePortPower": {
          "type": "string",
          "description": "Configure PoE port power. Valid values: `normal`, `perpetual`, `perpetual-fast`.\n"
        },
        "poePortPriority": {
          "type": "string",
          "description": "Configure PoE port priority. Valid values: `critical-priority`, `high-priority`, `low-priority`, `medium-priority`.\n"
        },
        "poePreStandardDetection": {
          "type": "string",
          "description": "Enable/disable PoE pre-standard detection. Valid values: `enable`, `disable`.\n"
        },
        "poeStandard": {
          "type": "string",
          "description": "PoE standard supported.\n"
        },
        "poeStatus": {
          "type": "string",
          "description": "Enable/disable PoE status. Valid values: `enable`, `disable`.\n"
        },
        "portName": {
          "type": "string",
          "description": "Switch port name.\n"
        },
        "portNumber": {
          "type": "integer",
          "description": "Port number.\n"
        },
        "portOwner": {
          "type": "string",
          "description": "Switch port name.\n"
        },
        "portPolicy": {
          "type": "string",
          "description": "Switch controller dynamic port policy from available options.\n"
        },
        "portPrefixType": {
          "type": "integer",
          "description": "Port prefix type.\n"
        },
        "portSecurityPolicy": {
          "type": "string",
          "description": "Switch controller authentication policy to apply to this managed switch from available options.\n"
        },
        "portSelectionCriteria": {
          "type": "string",
          "description": "Algorithm for aggregate port selection. Valid values: `src-mac`, `dst-mac`, `src-dst-mac`, `src-ip`, `dst-ip`, `src-dst-ip`.\n"
        },
        "ptpPolicy": {
          "type": "string",
          "description": "PTP policy configuration.\n"
        },
        "ptpStatus": {
          "type": "string",
          "description": "Enable/disable PTP policy on this FortiSwitch port. Valid values: `disable`, `enable`.\n"
        },
        "qosPolicy": {
          "type": "string",
          "description": "Switch controller QoS policy from available options.\n"
        },
        "restrictedAuthPort": {
          "type": "integer",
          "description": "Peer to Peer Restricted Authenticated port.\n"
        },
        "rpvstPort": {
          "type": "string",
          "description": "Enable/disable inter-operability with rapid PVST on this interface. Valid values: `disabled`, `enabled`.\n"
        },
        "sampleDirection": {
          "type": "string",
          "description": "sFlow sample direction. Valid values: `tx`, `rx`, `both`.\n"
        },
        "sflowCounterInterval": {
          "type": "integer",
          "description": "sFlow sampling counter polling interval in seconds (0 - 255).\n"
        },
        "sflowSampleRate": {
          "type": "integer",
          "description": "sFlow sampler sample rate (0 - 99999 p/sec).\n"
        },
        "sflowSampler": {
          "type": "string",
          "description": "Enable/disable sFlow protocol on this interface. Valid values: `enabled`, `disabled`.\n"
        },
        "speed": {
          "type": "string",
          "description": "Switch port speed; default and available settings depend on hardware.\n"
        },
        "speedMask": {
          "type": "integer",
          "description": "Switch port speed mask.\n"
        },
        "stackingPort": {
          "type": "integer",
          "description": "Stacking port.\n"
        },
        "status": {
          "type": "string",
          "description": "Switch port admin status: up or down. Valid values: `up`, `down`.\n"
        },
        "stickyMac": {
          "type": "string",
          "description": "Enable or disable sticky-mac on the interface. Valid values: `enable`, `disable`.\n"
        },
        "stormControlPolicy": {
          "type": "string",
          "description": "Switch controller storm control policy from available options.\n"
        },
        "stpBpduGuard": {
          "type": "string",
          "description": "Enable/disable STP BPDU guard on this interface. Valid values: `enabled`, `disabled`.\n"
        },
        "stpBpduGuardTimeout": {
          "type": "integer",
          "description": "BPDU Guard disabling protection (0 - 120 min).\n"
        },
        "stpRootGuard": {
          "type": "string",
          "description": "Enable/disable STP root guard on this interface. Valid values: `enabled`, `disabled`.\n"
        },
        "stpState": {
          "type": "string",
          "description": "Enable/disable Spanning Tree Protocol (STP) on this interface. Valid values: `enabled`, `disabled`.\n"
        },
        "switchId": {
          "type": "string",
          "description": "Switch id.\n"
        },
        "type": {
          "type": "string",
          "description": "Interface type: physical or trunk port. Valid values: `physical`, `trunk`.\n"
        },
        "untaggedVlans": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchPortUntaggedVlan:ManagedswitchPortUntaggedVlan"
          },
          "description": "Configure switch port untagged vlans The structure of `untagged_vlans` block is documented below.\n"
        },
        "virtualPort": {
          "type": "integer",
          "description": "Virtualized switch port.\n"
        },
        "vlan": {
          "type": "string",
          "description": "Assign switch ports to a VLAN.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "accessMode",
            "aggregatorMode",
            "allowArpMonitor",
            "allowedVlansAll",
            "arpInspectionTrust",
            "authenticatedPort",
            "bundle",
            "description",
            "dhcpSnoopOption82Trust",
            "dhcpSnooping",
            "discardMode",
            "edgePort",
            "encryptedPort",
            "exportTo",
            "exportToPool",
            "exportToPoolFlag",
            "fallbackPort",
            "fecCapable",
            "fecState",
            "fgtPeerDeviceName",
            "fgtPeerPortName",
            "fiberPort",
            "flags",
            "flapDuration",
            "flapRate",
            "flapTimeout",
            "flapguard",
            "flowControl",
            "fortilinkPort",
            "igmpSnooping",
            "igmpSnoopingFloodReports",
            "igmpsFloodReports",
            "igmpsFloodTraffic",
            "ipSourceGuard",
            "islLocalTrunkName",
            "islPeerDeviceName",
            "islPeerDeviceSn",
            "islPeerPortName",
            "lacpSpeed",
            "learningLimit",
            "linkStatus",
            "lldpProfile",
            "lldpStatus",
            "loopGuard",
            "loopGuardTimeout",
            "macAddr",
            "matchedDppIntfTags",
            "matchedDppPolicy",
            "maxBundle",
            "mcastSnoopingFloodTraffic",
            "mclag",
            "mclagIclPort",
            "mediaType",
            "memberWithdrawalBehavior",
            "minBundle",
            "mode",
            "p2pPort",
            "packetSampleRate",
            "packetSampler",
            "pauseMeter",
            "pauseMeterResume",
            "poeCapable",
            "poeMaxPower",
            "poeModeBtCabable",
            "poePortMode",
            "poePortPower",
            "poePortPriority",
            "poePreStandardDetection",
            "poeStandard",
            "poeStatus",
            "portName",
            "portNumber",
            "portOwner",
            "portPolicy",
            "portPrefixType",
            "portSecurityPolicy",
            "portSelectionCriteria",
            "ptpPolicy",
            "ptpStatus",
            "qosPolicy",
            "restrictedAuthPort",
            "rpvstPort",
            "sampleDirection",
            "sflowCounterInterval",
            "sflowSampleRate",
            "sflowSampler",
            "speed",
            "speedMask",
            "stackingPort",
            "status",
            "stickyMac",
            "stormControlPolicy",
            "stpBpduGuard",
            "stpBpduGuardTimeout",
            "stpRootGuard",
            "stpState",
            "switchId",
            "type",
            "virtualPort",
            "vlan"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchPortAclGroup:ManagedswitchPortAclGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "ACL group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchPortAllowedVlan:ManagedswitchPortAllowedVlan": {
      "properties": {
        "vlanName": {
          "type": "string",
          "description": "VLAN name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vlanName"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchPortDhcpSnoopOption82Override:ManagedswitchPortDhcpSnoopOption82Override": {
      "properties": {
        "circuitId": {
          "type": "string"
        },
        "remoteId": {
          "type": "string"
        },
        "vlanName": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "circuitId",
            "remoteId",
            "vlanName"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchPortExportTag:ManagedswitchPortExportTag": {
      "properties": {
        "tagName": {
          "type": "string",
          "description": "Switch tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "tagName"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchPortFortiswitchAcl:ManagedswitchPortFortiswitchAcl": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ACL ID.\n\nThe `dhcp_snoop_option82_override` block supports:\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchPortInterfaceTag:ManagedswitchPortInterfaceTag": {
      "properties": {
        "tagName": {
          "type": "string",
          "description": "FortiSwitch port tag name when exported to a virtual port pool or matched to dynamic port policy.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "tagName"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchPortMember:ManagedswitchPortMember": {
      "properties": {
        "memberName": {
          "type": "string",
          "description": "Interface name from available options.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "memberName"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchPortUntaggedVlan:ManagedswitchPortUntaggedVlan": {
      "properties": {
        "vlanName": {
          "type": "string",
          "description": "VLAN name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vlanName"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchRemoteLog:ManagedswitchRemoteLog": {
      "properties": {
        "csv": {
          "type": "string",
          "description": "Enable/disable comma-separated value (CSV) strings. Valid values: `enable`, `disable`.\n"
        },
        "facility": {
          "type": "string",
          "description": "Facility to log to remote syslog server. Valid values: `kernel`, `user`, `mail`, `daemon`, `auth`, `syslog`, `lpr`, `news`, `uucp`, `cron`, `authpriv`, `ftp`, `ntp`, `audit`, `alert`, `clock`, `local0`, `local1`, `local2`, `local3`, `local4`, `local5`, `local6`, `local7`.\n"
        },
        "name": {
          "type": "string",
          "description": "Remote log name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Remote syslog server listening port.\n"
        },
        "server": {
          "type": "string",
          "description": "IPv4 address of the remote syslog server.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity of logs to be transferred to remote log server. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging by FortiSwitch device to a remote syslog server. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "csv",
            "facility",
            "name",
            "port",
            "server",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchRouteOffloadRouter:ManagedswitchRouteOffloadRouter": {
      "properties": {
        "routerIp": {
          "type": "string",
          "description": "Router IP address.\n"
        },
        "vlanName": {
          "type": "string",
          "description": "VLAN name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "routerIp",
            "vlanName"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchSnmpCommunity:ManagedswitchSnmpCommunity": {
      "properties": {
        "events": {
          "type": "string",
          "description": "SNMP notifications (traps) to send. Valid values: `cpu-high`, `mem-low`, `log-full`, `intf-ip`, `ent-conf-change`.\n"
        },
        "hosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FManagedswitchSnmpCommunityHost:ManagedswitchSnmpCommunityHost"
          },
          "description": "Configure IPv4 SNMP managers (hosts). The structure of `hosts` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "SNMP community ID.\n"
        },
        "name": {
          "type": "string",
          "description": "SNMP community name.\n"
        },
        "queryV1Port": {
          "type": "integer",
          "description": "SNMP v1 query port (default = 161).\n"
        },
        "queryV1Status": {
          "type": "string",
          "description": "Enable/disable SNMP v1 queries. Valid values: `disable`, `enable`.\n"
        },
        "queryV2cPort": {
          "type": "integer",
          "description": "SNMP v2c query port (default = 161).\n"
        },
        "queryV2cStatus": {
          "type": "string",
          "description": "Enable/disable SNMP v2c queries. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this SNMP community. Valid values: `disable`, `enable`.\n"
        },
        "trapV1Lport": {
          "type": "integer",
          "description": "SNMP v2c trap local port (default = 162).\n"
        },
        "trapV1Rport": {
          "type": "integer",
          "description": "SNMP v2c trap remote port (default = 162).\n"
        },
        "trapV1Status": {
          "type": "string",
          "description": "Enable/disable SNMP v1 traps. Valid values: `disable`, `enable`.\n"
        },
        "trapV2cLport": {
          "type": "integer",
          "description": "SNMP v2c trap local port (default = 162).\n"
        },
        "trapV2cRport": {
          "type": "integer",
          "description": "SNMP v2c trap remote port (default = 162).\n"
        },
        "trapV2cStatus": {
          "type": "string",
          "description": "Enable/disable SNMP v2c traps. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "events",
            "id",
            "name",
            "queryV1Port",
            "queryV1Status",
            "queryV2cPort",
            "queryV2cStatus",
            "status",
            "trapV1Lport",
            "trapV1Rport",
            "trapV1Status",
            "trapV2cLport",
            "trapV2cRport",
            "trapV2cStatus"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchSnmpCommunityHost:ManagedswitchSnmpCommunityHost": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Host entry ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the SNMP manager (host).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ip"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchSnmpSysinfo:ManagedswitchSnmpSysinfo": {
      "properties": {
        "contactInfo": {
          "type": "string",
          "description": "Contact information.\n"
        },
        "description": {
          "type": "string",
          "description": "System description.\n"
        },
        "engineId": {
          "type": "string",
          "description": "Local SNMP engine ID string (max 24 char).\n"
        },
        "location": {
          "type": "string",
          "description": "System location.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SNMP. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "contactInfo",
            "description",
            "engineId",
            "location",
            "status"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchSnmpTrapThreshold:ManagedswitchSnmpTrapThreshold": {
      "properties": {
        "trapHighCpuThreshold": {
          "type": "integer",
          "description": "CPU usage when trap is sent.\n"
        },
        "trapLogFullThreshold": {
          "type": "integer",
          "description": "Log disk usage when trap is sent.\n"
        },
        "trapLowMemoryThreshold": {
          "type": "integer",
          "description": "Memory usage when trap is sent.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "trapHighCpuThreshold",
            "trapLogFullThreshold",
            "trapLowMemoryThreshold"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchSnmpUser:ManagedswitchSnmpUser": {
      "properties": {
        "authProto": {
          "type": "string",
          "description": "Authentication protocol.\n"
        },
        "authPwd": {
          "type": "string",
          "description": "Password for authentication protocol.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "SNMP user name.\n"
        },
        "privProto": {
          "type": "string",
          "description": "Privacy (encryption) protocol.\n"
        },
        "privPwd": {
          "type": "string",
          "description": "Password for privacy (encryption) protocol.\n",
          "secret": true
        },
        "queries": {
          "type": "string",
          "description": "Enable/disable SNMP queries for this user. Valid values: `disable`, `enable`.\n"
        },
        "queryPort": {
          "type": "integer",
          "description": "SNMPv3 query port (default = 161).\n"
        },
        "securityLevel": {
          "type": "string",
          "description": "Security level for message authentication and encryption. Valid values: `no-auth-no-priv`, `auth-no-priv`, `auth-priv`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authProto",
            "name",
            "privProto",
            "queries",
            "queryPort",
            "securityLevel"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchStaticMac:ManagedswitchStaticMac": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "id": {
          "type": "integer",
          "description": "Id\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address.\n"
        },
        "type": {
          "type": "string",
          "description": "Type. Valid values: `static`, `sticky`.\n"
        },
        "vlan": {
          "type": "string",
          "description": "Vlan.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "id",
            "interface",
            "mac",
            "type",
            "vlan"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchStormControl:ManagedswitchStormControl": {
      "properties": {
        "broadcast": {
          "type": "string",
          "description": "Enable/disable storm control to drop broadcast traffic. Valid values: `enable`, `disable`.\n"
        },
        "localOverride": {
          "type": "string",
          "description": "Enable to override global FortiSwitch storm control settings for this FortiSwitch. Valid values: `enable`, `disable`.\n"
        },
        "rate": {
          "type": "integer",
          "description": "Rate in packets per second at which storm control drops excess traffic, default=500. On FortiOS versions 6.2.0-7.2.8: 1 - 10000000. On FortiOS versions >= 7.4.0: 0-10000000, drop-all=0.\n"
        },
        "unknownMulticast": {
          "type": "string",
          "description": "Enable/disable storm control to drop unknown multicast traffic. Valid values: `enable`, `disable`.\n"
        },
        "unknownUnicast": {
          "type": "string",
          "description": "Enable/disable storm control to drop unknown unicast traffic. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "broadcast",
            "localOverride",
            "rate",
            "unknownMulticast",
            "unknownUnicast"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchStpInstance:ManagedswitchStpInstance": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Instance ID.\n"
        },
        "priority": {
          "type": "string",
          "description": "Priority. Valid values: `0`, `4096`, `8192`, `12288`, `16384`, `20480`, `24576`, `28672`, `32768`, `36864`, `40960`, `45056`, `49152`, `53248`, `57344`, `61440`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "priority"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchStpSettings:ManagedswitchStpSettings": {
      "properties": {
        "forwardTime": {
          "type": "integer",
          "description": "Period of time a port is in listening and learning state (4 - 30 sec, default = 15).\n"
        },
        "helloTime": {
          "type": "integer",
          "description": "Period of time between successive STP frame Bridge Protocol Data Units (BPDUs) sent on a port (1 - 10 sec, default = 2).\n"
        },
        "localOverride": {
          "type": "string",
          "description": "Enable to configure local STP settings that override global STP settings. Valid values: `enable`, `disable`.\n"
        },
        "maxAge": {
          "type": "integer",
          "description": "Maximum time before a bridge port saves its configuration BPDU information (6 - 40 sec, default = 20).\n"
        },
        "maxHops": {
          "type": "integer",
          "description": "Maximum number of hops between the root bridge and the furthest bridge (1- 40, default = 20).\n"
        },
        "name": {
          "type": "string",
          "description": "Name of local STP settings configuration.\n"
        },
        "pendingTimer": {
          "type": "integer",
          "description": "Pending time (1 - 15 sec, default = 4).\n"
        },
        "revision": {
          "type": "integer",
          "description": "STP revision number (0 - 65535).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable STP. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "forwardTime",
            "helloTime",
            "localOverride",
            "maxAge",
            "maxHops",
            "name",
            "pendingTimer",
            "revision",
            "status"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchSwitchLog:ManagedswitchSwitchLog": {
      "properties": {
        "localOverride": {
          "type": "string",
          "description": "Enable to configure local logging settings that override global logging settings. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity of FortiSwitch logs that are added to the FortiGate event log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable adding FortiSwitch logs to the FortiGate event log. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "localOverride",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchSwitchStpSettings:ManagedswitchSwitchStpSettings": {
      "properties": {
        "status": {
          "type": "string",
          "description": "Enable/disable STP. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "status"
          ]
        }
      }
    },
    "fortios:switchcontroller/ManagedswitchVlan:ManagedswitchVlan": {
      "properties": {
        "assignmentPriority": {
          "type": "integer",
          "description": "802.1x Radius (Tunnel-Private-Group-Id) VLANID assign-by-name priority. A smaller value has a higher priority.\n"
        },
        "vlanName": {
          "type": "string",
          "description": "VLAN name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "assignmentPriority",
            "vlanName"
          ]
        }
      }
    },
    "fortios:switchcontroller/QuarantineTarget:QuarantineTarget": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description for the quarantine MAC.\n"
        },
        "entryId": {
          "type": "integer",
          "description": "FSW entry id for the quarantine MAC.\n"
        },
        "mac": {
          "type": "string",
          "description": "Quarantine MAC.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FQuarantineTargetTag:QuarantineTargetTag"
          },
          "description": "Tags for the quarantine MAC. The structure of `tag` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "entryId",
            "mac"
          ]
        }
      }
    },
    "fortios:switchcontroller/QuarantineTargetTag:QuarantineTargetTag": {
      "properties": {
        "tags": {
          "type": "string",
          "description": "Tag string. For example, string1 string2 string3.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "tags"
          ]
        }
      }
    },
    "fortios:switchcontroller/SnmpcommunityHost:SnmpcommunityHost": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Host entry ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the SNMP manager (host).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ip"
          ]
        }
      }
    },
    "fortios:switchcontroller/StpinstanceVlanRange:StpinstanceVlanRange": {
      "properties": {
        "vlanName": {
          "type": "string",
          "description": "VLAN name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vlanName"
          ]
        }
      }
    },
    "fortios:switchcontroller/SwitchgroupMember:SwitchgroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Managed device ID.\n"
        },
        "switchId": {
          "type": "string",
          "description": "Managed device ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "switchId"
          ]
        }
      }
    },
    "fortios:switchcontroller/TrafficsnifferTargetIp:TrafficsnifferTargetIp": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description for the sniffer IP.\n"
        },
        "ip": {
          "type": "string",
          "description": "Sniffer IP.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "ip"
          ]
        }
      }
    },
    "fortios:switchcontroller/TrafficsnifferTargetMac:TrafficsnifferTargetMac": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description for the sniffer MAC.\n"
        },
        "mac": {
          "type": "string",
          "description": "Sniffer MAC.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "mac"
          ]
        }
      }
    },
    "fortios:switchcontroller/TrafficsnifferTargetPort:TrafficsnifferTargetPort": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description for the sniffer port entry.\n"
        },
        "inPorts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetPortInPort:TrafficsnifferTargetPortInPort"
          },
          "description": "Configure source ingress port interfaces. The structure of `in_ports` block is documented below.\n"
        },
        "outPorts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:switchcontroller%2FTrafficsnifferTargetPortOutPort:TrafficsnifferTargetPortOutPort"
          },
          "description": "Configure source egress port interfaces. The structure of `out_ports` block is documented below.\n"
        },
        "switchId": {
          "type": "string",
          "description": "Managed-switch ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "switchId"
          ]
        }
      }
    },
    "fortios:switchcontroller/TrafficsnifferTargetPortInPort:TrafficsnifferTargetPortInPort": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:switchcontroller/TrafficsnifferTargetPortOutPort:TrafficsnifferTargetPortOutPort": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:switchcontroller/VlanPortalMessageOverrides:VlanPortalMessageOverrides": {
      "properties": {
        "authDisclaimerPage": {
          "type": "string",
          "description": "Override auth-disclaimer-page message with message from portal-message-overrides group.\n"
        },
        "authLoginFailedPage": {
          "type": "string",
          "description": "Override auth-login-failed-page message with message from portal-message-overrides group.\n"
        },
        "authLoginPage": {
          "type": "string",
          "description": "Override auth-login-page message with message from portal-message-overrides group.\n"
        },
        "authRejectPage": {
          "type": "string",
          "description": "Override auth-reject-page message with message from portal-message-overrides group.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authDisclaimerPage",
            "authLoginFailedPage",
            "authLoginPage",
            "authRejectPage"
          ]
        }
      }
    },
    "fortios:switchcontroller/VlanSelectedUsergroup:VlanSelectedUsergroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:switchcontroller/VlanpolicyAllowedVlan:VlanpolicyAllowedVlan": {
      "properties": {
        "vlanName": {
          "type": "string",
          "description": "VLAN name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vlanName"
          ]
        }
      }
    },
    "fortios:switchcontroller/VlanpolicyUntaggedVlan:VlanpolicyUntaggedVlan": {
      "properties": {
        "vlanName": {
          "type": "string",
          "description": "VLAN name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vlanName"
          ]
        }
      }
    },
    "fortios:switchcontroller/acl/GroupIngress:GroupIngress": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ACL ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:switchcontroller/acl/IngressAction:IngressAction": {
      "properties": {
        "count": {
          "type": "string",
          "description": "Enable/disable count. Valid values: `enable`, `disable`.\n"
        },
        "drop": {
          "type": "string",
          "description": "Enable/disable drop. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "count",
            "drop"
          ]
        }
      }
    },
    "fortios:switchcontroller/acl/IngressClassifier:IngressClassifier": {
      "properties": {
        "dstIpPrefix": {
          "type": "string",
          "description": "Destination IP address to be matched.\n"
        },
        "dstMac": {
          "type": "string",
          "description": "Destination MAC address to be matched.\n"
        },
        "srcIpPrefix": {
          "type": "string",
          "description": "Source IP address to be matched.\n"
        },
        "srcMac": {
          "type": "string",
          "description": "Source MAC address to be matched.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "VLAN ID to be matched.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dstIpPrefix",
            "dstMac",
            "srcIpPrefix",
            "srcMac",
            "vlan"
          ]
        }
      }
    },
    "fortios:switchcontroller/autoconfig/CustomSwitchBinding:CustomSwitchBinding": {
      "properties": {
        "policy": {
          "type": "string",
          "description": "Custom auto-config policy.\n"
        },
        "switchId": {
          "type": "string",
          "description": "Switch name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "policy",
            "switchId"
          ]
        }
      }
    },
    "fortios:switchcontroller/qos/IpdscpmapMap:IpdscpmapMap": {
      "properties": {
        "cosQueue": {
          "type": "integer",
          "description": "COS queue number.\n"
        },
        "diffserv": {
          "type": "string",
          "description": "Differentiated service. Valid values: `CS0`, `CS1`, `AF11`, `AF12`, `AF13`, `CS2`, `AF21`, `AF22`, `AF23`, `CS3`, `AF31`, `AF32`, `AF33`, `CS4`, `AF41`, `AF42`, `AF43`, `CS5`, `EF`, `CS6`, `CS7`.\n"
        },
        "ipPrecedence": {
          "type": "string",
          "description": "IP Precedence. Valid values: `network-control`, `internetwork-control`, `critic-ecp`, `flashoverride`, `flash`, `immediate`, `priority`, `routine`.\n"
        },
        "name": {
          "type": "string",
          "description": "Dscp mapping entry name.\n"
        },
        "value": {
          "type": "string",
          "description": "Raw values of DSCP (0 - 63).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cosQueue",
            "diffserv",
            "ipPrecedence",
            "name",
            "value"
          ]
        }
      }
    },
    "fortios:switchcontroller/qos/QueuepolicyCosQueue:QueuepolicyCosQueue": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of the COS queue.\n"
        },
        "dropPolicy": {
          "type": "string",
          "description": "COS queue drop policy. Valid values: `taildrop`, `weighted-random-early-detection`.\n"
        },
        "ecn": {
          "type": "string",
          "description": "Enable/disable ECN packet marking to drop eligible packets. Valid values: `disable`, `enable`.\n"
        },
        "maxRate": {
          "type": "integer",
          "description": "Maximum rate (0 - 4294967295 kbps, 0 to disable).\n"
        },
        "maxRatePercent": {
          "type": "integer",
          "description": "Maximum rate (% of link speed).\n"
        },
        "minRate": {
          "type": "integer",
          "description": "Minimum rate (0 - 4294967295 kbps, 0 to disable).\n"
        },
        "minRatePercent": {
          "type": "integer",
          "description": "Minimum rate (% of link speed).\n"
        },
        "name": {
          "type": "string",
          "description": "Cos queue ID.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of weighted round robin scheduling.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "dropPolicy",
            "ecn",
            "maxRate",
            "maxRatePercent",
            "minRate",
            "minRatePercent",
            "name",
            "weight"
          ]
        }
      }
    },
    "fortios:switchcontroller/securitypolicy/Policy8021XUserGroup:Policy8021XUserGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/AccprofileFwgrpPermission:AccprofileFwgrpPermission": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Address Configuration. Valid values: `none`, `read`, `read-write`.\n"
        },
        "others": {
          "type": "string",
          "description": "Other Firewall Configuration. Valid values: `none`, `read`, `read-write`.\n"
        },
        "policy": {
          "type": "string",
          "description": "Policy Configuration. Valid values: `none`, `read`, `read-write`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule Configuration. Valid values: `none`, `read`, `read-write`.\n"
        },
        "service": {
          "type": "string",
          "description": "Service Configuration. Valid values: `none`, `read`, `read-write`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "address",
            "others",
            "policy",
            "schedule",
            "service"
          ]
        }
      }
    },
    "fortios:system/AccprofileLoggrpPermission:AccprofileLoggrpPermission": {
      "properties": {
        "config": {
          "type": "string",
          "description": "Log & Report configuration. Valid values: `none`, `read`, `read-write`.\n"
        },
        "dataAccess": {
          "type": "string",
          "description": "Log & Report Data Access. Valid values: `none`, `read`, `read-write`.\n"
        },
        "reportAccess": {
          "type": "string",
          "description": "Log & Report Report Access. Valid values: `none`, `read`, `read-write`.\n"
        },
        "threatWeight": {
          "type": "string",
          "description": "Log & Report Threat Weight. Valid values: `none`, `read`, `read-write`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "config",
            "dataAccess",
            "reportAccess",
            "threatWeight"
          ]
        }
      }
    },
    "fortios:system/AccprofileNetgrpPermission:AccprofileNetgrpPermission": {
      "properties": {
        "cfg": {
          "type": "string",
          "description": "Network Configuration. Valid values: `none`, `read`, `read-write`.\n"
        },
        "packetCapture": {
          "type": "string",
          "description": "Packet Capture Configuration. Valid values: `none`, `read`, `read-write`.\n"
        },
        "routeCfg": {
          "type": "string",
          "description": "Router Configuration. Valid values: `none`, `read`, `read-write`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cfg",
            "packetCapture",
            "routeCfg"
          ]
        }
      }
    },
    "fortios:system/AccprofileSysgrpPermission:AccprofileSysgrpPermission": {
      "properties": {
        "admin": {
          "type": "string",
          "description": "Administrator Users. Valid values: `none`, `read`, `read-write`.\n"
        },
        "cfg": {
          "type": "string",
          "description": "System Configuration. Valid values: `none`, `read`, `read-write`.\n"
        },
        "mnt": {
          "type": "string",
          "description": "Maintenance. Valid values: `none`, `read`, `read-write`.\n"
        },
        "upd": {
          "type": "string",
          "description": "FortiGuard Updates. Valid values: `none`, `read`, `read-write`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "admin",
            "cfg",
            "mnt",
            "upd"
          ]
        }
      }
    },
    "fortios:system/AccprofileUtmgrpPermission:AccprofileUtmgrpPermission": {
      "properties": {
        "antivirus": {
          "type": "string",
          "description": "Antivirus profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "applicationControl": {
          "type": "string",
          "description": "Application Control profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "casb": {
          "type": "string",
          "description": "Inline CASB filter profile and settings Valid values: `none`, `read`, `read-write`.\n"
        },
        "dataLeakPrevention": {
          "type": "string",
          "description": "DLP profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "dataLossPrevention": {
          "type": "string",
          "description": "DLP profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "dlp": {
          "type": "string",
          "description": "DLP profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "dnsfilter": {
          "type": "string",
          "description": "DNS Filter profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "emailfilter": {
          "type": "string",
          "description": "AntiSpam filter and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "endpointControl": {
          "type": "string",
          "description": "FortiClient Profiles. Valid values: `none`, `read`, `read-write`.\n"
        },
        "fileFilter": {
          "type": "string",
          "description": "File-filter profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "icap": {
          "type": "string",
          "description": "ICAP profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "ips": {
          "type": "string",
          "description": "IPS profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "spamfilter": {
          "type": "string",
          "description": "AntiSpam filter and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "videofilter": {
          "type": "string",
          "description": "Video filter profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "virtualPatch": {
          "type": "string",
          "description": "Virtual patch profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "voip": {
          "type": "string",
          "description": "VoIP profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "waf": {
          "type": "string",
          "description": "Web Application Firewall profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        },
        "webfilter": {
          "type": "string",
          "description": "Web Filter profiles and settings. Valid values: `none`, `read`, `read-write`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "antivirus",
            "applicationControl",
            "casb",
            "dataLeakPrevention",
            "dataLossPrevention",
            "dlp",
            "dnsfilter",
            "emailfilter",
            "endpointControl",
            "fileFilter",
            "icap",
            "ips",
            "spamfilter",
            "videofilter",
            "virtualPatch",
            "voip",
            "waf",
            "webfilter"
          ]
        }
      }
    },
    "fortios:system/AcmeAccount:AcmeAccount": {
      "properties": {
        "caUrl": {
          "type": "string",
          "description": "Account ca_url.\n"
        },
        "email": {
          "type": "string",
          "description": "Account email.\n"
        },
        "id": {
          "type": "string",
          "description": "Account id.\n"
        },
        "privatekey": {
          "type": "string",
          "description": "Account Private Key.\n"
        },
        "status": {
          "type": "string",
          "description": "Account status.\n"
        },
        "url": {
          "type": "string",
          "description": "Account url.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "caUrl",
            "email",
            "id",
            "privatekey",
            "status",
            "url"
          ]
        }
      }
    },
    "fortios:system/AcmeInterface:AcmeInterface": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:system/AdminGuestUsergroup:AdminGuestUsergroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Select guest user groups.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/AdminGuiDashboard:AdminGuiDashboard": {
      "properties": {
        "columns": {
          "type": "integer",
          "description": "Number of columns.\n"
        },
        "id": {
          "type": "integer",
          "description": "Dashboard ID.\n"
        },
        "layoutType": {
          "type": "string",
          "description": "Layout type. Valid values: `responsive`, `fixed`.\n"
        },
        "name": {
          "type": "string",
          "description": "Dashboard name.\n"
        },
        "scope": {
          "type": "string",
          "description": "Dashboard scope. Valid values: `global`, `vdom`.\n"
        },
        "widgets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuiDashboardWidget:AdminGuiDashboardWidget"
          },
          "description": "Dashboard widgets. The structure of `widget` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "columns",
            "id",
            "layoutType",
            "name",
            "scope"
          ]
        }
      }
    },
    "fortios:system/AdminGuiDashboardWidget:AdminGuiDashboardWidget": {
      "properties": {
        "fabricDevice": {
          "type": "string",
          "description": "Fabric device to monitor.\n"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAdminGuiDashboardWidgetFilter:AdminGuiDashboardWidgetFilter"
          },
          "description": "FortiView filters. The structure of `filters` block is documented below.\n"
        },
        "height": {
          "type": "integer",
          "description": "Height.\n"
        },
        "id": {
          "type": "integer",
          "description": "Widget ID.\n"
        },
        "industry": {
          "type": "string",
          "description": "Security Audit Rating industry. Valid values: `default`, `custom`.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface to monitor.\n"
        },
        "region": {
          "type": "string",
          "description": "Security Audit Rating region. Valid values: `default`, `custom`.\n"
        },
        "reportBy": {
          "type": "string",
          "description": "Field to aggregate the data by. Valid values: `source`, `destination`, `country`, `intfpair`, `srcintf`, `dstintf`, `policy`, `wificlient`, `shaper`, `endpoint-vulnerability`, `endpoint-device`, `application`, `cloud-app`, `cloud-user`, `web-domain`, `web-category`, `web-search-phrase`, `threat`, `system`, `unauth`, `admin`, `vpn`.\n"
        },
        "sortBy": {
          "type": "string",
          "description": "Field to sort the data by.\n"
        },
        "timeframe": {
          "type": "string",
          "description": "Timeframe period of reported data. Valid values: `realtime`, `5min`, `hour`, `day`, `week`.\n"
        },
        "title": {
          "type": "string",
          "description": "Widget title.\n"
        },
        "type": {
          "type": "string",
          "description": "Widget type. Valid values: `sysinfo`, `licinfo`, `vminfo`, `forticloud`, `cpu-usage`, `memory-usage`, `disk-usage`, `log-rate`, `sessions`, `session-rate`, `tr-history`, `analytics`, `usb-modem`, `admins`, `security-fabric`, `security-fabric-ranking`, `ha-status`, `vulnerability-summary`, `host-scan-summary`, `fortiview`, `botnet-activity`, `fortimail`.\n"
        },
        "visualization": {
          "type": "string",
          "description": "Visualization to use. Valid values: `table`, `bubble`, `country`, `chord`.\n"
        },
        "width": {
          "type": "integer",
          "description": "Width.\n"
        },
        "xPos": {
          "type": "integer",
          "description": "X position.\n"
        },
        "yPos": {
          "type": "integer",
          "description": "Y position.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "fabricDevice",
            "height",
            "id",
            "industry",
            "interface",
            "region",
            "reportBy",
            "sortBy",
            "timeframe",
            "title",
            "type",
            "visualization",
            "width",
            "xPos",
            "yPos"
          ]
        }
      }
    },
    "fortios:system/AdminGuiDashboardWidgetFilter:AdminGuiDashboardWidgetFilter": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "FortiView Filter ID.\n"
        },
        "key": {
          "type": "string",
          "description": "Filter key.\n"
        },
        "value": {
          "type": "string",
          "description": "Filter value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "key",
            "value"
          ]
        }
      }
    },
    "fortios:system/AdminGuiGlobalMenuFavorite:AdminGuiGlobalMenuFavorite": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Select menu ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/AdminGuiNewFeatureAcknowledge:AdminGuiNewFeatureAcknowledge": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Select menu ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/AdminGuiVdomMenuFavorite:AdminGuiVdomMenuFavorite": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Select menu ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/AdminLoginTime:AdminLoginTime": {
      "properties": {
        "lastFailedLogin": {
          "type": "string",
          "description": "Last failed login time.\n"
        },
        "lastLogin": {
          "type": "string",
          "description": "Last successful login time.\n"
        },
        "usrName": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "lastFailedLogin",
            "lastLogin",
            "usrName"
          ]
        }
      }
    },
    "fortios:system/AdminVdom:AdminVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual domain name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/AlarmGroup:AlarmGroup": {
      "properties": {
        "adminAuthFailureThreshold": {
          "type": "integer",
          "description": "Admin authentication failure threshold.\n"
        },
        "adminAuthLockoutThreshold": {
          "type": "integer",
          "description": "Admin authentication lockout threshold.\n"
        },
        "decryptionFailureThreshold": {
          "type": "integer",
          "description": "Decryption failure threshold.\n"
        },
        "encryptionFailureThreshold": {
          "type": "integer",
          "description": "Encryption failure threshold.\n"
        },
        "fwPolicyId": {
          "type": "integer",
          "description": "Firewall policy ID.\n"
        },
        "fwPolicyIdThreshold": {
          "type": "integer",
          "description": "Firewall policy ID threshold.\n"
        },
        "fwPolicyViolations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FAlarmGroupFwPolicyViolation:AlarmGroupFwPolicyViolation"
          },
          "description": "Firewall policy violations. The structure of `fw_policy_violations` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "Group ID.\n"
        },
        "logFullWarningThreshold": {
          "type": "integer",
          "description": "Log full warning threshold.\n"
        },
        "period": {
          "type": "integer",
          "description": "Time period in seconds (0 = from start up).\n"
        },
        "replayAttemptThreshold": {
          "type": "integer",
          "description": "Replay attempt threshold.\n"
        },
        "selfTestFailureThreshold": {
          "type": "integer",
          "description": "Self-test failure threshold.\n"
        },
        "userAuthFailureThreshold": {
          "type": "integer",
          "description": "User authentication failure threshold.\n"
        },
        "userAuthLockoutThreshold": {
          "type": "integer",
          "description": "User authentication lockout threshold.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "adminAuthFailureThreshold",
            "adminAuthLockoutThreshold",
            "decryptionFailureThreshold",
            "encryptionFailureThreshold",
            "fwPolicyId",
            "fwPolicyIdThreshold",
            "id",
            "logFullWarningThreshold",
            "period",
            "replayAttemptThreshold",
            "selfTestFailureThreshold",
            "userAuthFailureThreshold",
            "userAuthLockoutThreshold"
          ]
        }
      }
    },
    "fortios:system/AlarmGroupFwPolicyViolation:AlarmGroupFwPolicyViolation": {
      "properties": {
        "dstIp": {
          "type": "string",
          "description": "Destination IP (0=all).\n"
        },
        "dstPort": {
          "type": "integer",
          "description": "Destination port (0=all).\n"
        },
        "id": {
          "type": "integer",
          "description": "Firewall policy violations ID.\n"
        },
        "srcIp": {
          "type": "string",
          "description": "Source IP (0=all).\n"
        },
        "srcPort": {
          "type": "integer",
          "description": "Source port (0=all).\n"
        },
        "threshold": {
          "type": "integer",
          "description": "Firewall policy violation threshold.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dstIp",
            "dstPort",
            "id",
            "srcIp",
            "srcPort",
            "threshold"
          ]
        }
      }
    },
    "fortios:system/ApiuserSettingTrusthost:ApiuserSettingTrusthost": {
      "properties": {
        "ipv4Trusthost": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "ipv4Trusthost",
        "type"
      ]
    },
    "fortios:system/ApiuserTrusthost:ApiuserTrusthost": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Table ID.\n"
        },
        "ipv4Trusthost": {
          "type": "string",
          "description": "IPv4 trusted host address.\n"
        },
        "ipv6Trusthost": {
          "type": "string",
          "description": "IPv6 trusted host address.\n"
        },
        "type": {
          "type": "string",
          "description": "Trusthost type. Valid values: `ipv4-trusthost`, `ipv6-trusthost`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ipv4Trusthost",
            "ipv6Trusthost",
            "type"
          ]
        }
      }
    },
    "fortios:system/ApiuserVdom:ApiuserVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual domain name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/AutomationactionEmailTo:AutomationactionEmailTo": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Email address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/AutomationactionHeader:AutomationactionHeader": {
      "properties": {
        "header": {
          "type": "string",
          "description": "Request header.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "header"
          ]
        }
      }
    },
    "fortios:system/AutomationactionHttpHeader:AutomationactionHttpHeader": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "key": {
          "type": "string",
          "description": "Request header key.\n"
        },
        "value": {
          "type": "string",
          "description": "Request header value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/AutomationactionSdnConnector:AutomationactionSdnConnector": {
      "properties": {
        "name": {
          "type": "string",
          "description": "SDN connector name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/AutomationdestinationDestination:AutomationdestinationDestination": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Destination.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/AutomationstitchAction:AutomationstitchAction": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action name.\n"
        },
        "delay": {
          "type": "integer",
          "description": "Delay before execution (in seconds).\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "required": {
          "type": "string",
          "description": "Required in action chain. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "delay",
            "id",
            "required"
          ]
        }
      }
    },
    "fortios:system/AutomationstitchDestination:AutomationstitchDestination": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Destination name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/AutomationtriggerField:AutomationtriggerField": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "value": {
          "type": "string",
          "description": "Value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name"
          ]
        }
      }
    },
    "fortios:system/AutomationtriggerLogidBlock:AutomationtriggerLogidBlock": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Log ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/AutomationtriggerVdom:AutomationtriggerVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual domain name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/CentralmanagementServerList:CentralmanagementServerList": {
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Indicate whether the FortiGate communicates with the override server using an IPv4 address, an IPv6 address or a FQDN. Valid values: `ipv4`, `ipv6`, `fqdn`.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "FQDN address of override server.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "serverAddress": {
          "type": "string",
          "description": "IPv4 address of override server.\n"
        },
        "serverAddress6": {
          "type": "string",
          "description": "IPv6 address of override server.\n"
        },
        "serverType": {
          "type": "string",
          "description": "FortiGuard service type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrType",
            "fqdn",
            "id",
            "serverAddress",
            "serverAddress6",
            "serverType"
          ]
        }
      }
    },
    "fortios:system/ClustersyncDownIntfsBeforeSessSync:ClustersyncDownIntfsBeforeSessSync": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/ClustersyncSessionSyncFilter:ClustersyncSessionSyncFilter": {
      "properties": {
        "customServices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FClustersyncSessionSyncFilterCustomService:ClustersyncSessionSyncFilterCustomService"
          },
          "description": "Only sessions using these custom services are synchronized. Use source and destination port ranges to define these custome services. The structure of `custom_service` block is documented below.\n"
        },
        "dstaddr": {
          "type": "string",
          "description": "Only sessions to this IPv4 address are synchronized. You can only enter one address. To synchronize sessions for multiple destination addresses, add multiple filters.\n"
        },
        "dstaddr6": {
          "type": "string",
          "description": "Only sessions to this IPv6 address are synchronized. You can only enter one address. To synchronize sessions for multiple destination addresses, add multiple filters.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "Only sessions to this interface are synchronized. You can only enter one interface name. To synchronize sessions to multiple destination interfaces, add multiple filters.\n"
        },
        "srcaddr": {
          "type": "string",
          "description": "Only sessions from this IPv4 address are synchronized. You can only enter one address. To synchronize sessions from multiple source addresses, add multiple filters.\n"
        },
        "srcaddr6": {
          "type": "string",
          "description": "Only sessions from this IPv6 address are synchronized. You can only enter one address. To synchronize sessions from multiple source addresses, add multiple filters.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Only sessions from this interface are synchronized. You can only enter one interface name. To synchronize sessions for multiple source interfaces, add multiple filters.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dstaddr",
            "dstaddr6",
            "dstintf",
            "srcaddr",
            "srcaddr6",
            "srcintf"
          ]
        }
      }
    },
    "fortios:system/ClustersyncSessionSyncFilterCustomService:ClustersyncSessionSyncFilterCustomService": {
      "properties": {
        "dstPortRange": {
          "type": "string",
          "description": "Custom service destination port range.\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom service ID.\n"
        },
        "srcPortRange": {
          "type": "string",
          "description": "Custom service source port range.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dstPortRange",
            "id",
            "srcPortRange"
          ]
        }
      }
    },
    "fortios:system/ClustersyncSyncvd:ClustersyncSyncvd": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VDOM name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/CsfFabricConnector:CsfFabricConnector": {
      "properties": {
        "accprofile": {
          "type": "string",
          "description": "Override access profile.\n"
        },
        "configurationWriteAccess": {
          "type": "string",
          "description": "Enable/disable downstream device write access to configuration. Valid values: `enable`, `disable`.\n"
        },
        "serial": {
          "type": "string",
          "description": "Serial.\n"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FCsfFabricConnectorVdom:CsfFabricConnectorVdom"
          },
          "description": "Virtual domains that the connector has access to. If none are set, the connector will only have access to the VDOM that it joins the Security Fabric through. The structure of `vdom` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "accprofile",
            "configurationWriteAccess",
            "serial"
          ]
        }
      }
    },
    "fortios:system/CsfFabricConnectorVdom:CsfFabricConnectorVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual domain name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/CsfFabricDevice:CsfFabricDevice": {
      "properties": {
        "accessToken": {
          "type": "string",
          "description": "Device access token.\n",
          "secret": true
        },
        "deviceIp": {
          "type": "string",
          "description": "Device IP.\n"
        },
        "deviceType": {
          "type": "string",
          "description": "Device type. Valid values: `fortimail`.\n"
        },
        "httpsPort": {
          "type": "integer",
          "description": "HTTPS port for fabric device.\n"
        },
        "login": {
          "type": "string",
          "description": "Device login name.\n"
        },
        "name": {
          "type": "string",
          "description": "Device name.\n"
        },
        "password": {
          "type": "string",
          "description": "Device login password.\n",
          "secret": true
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "deviceIp",
            "deviceType",
            "httpsPort",
            "login",
            "name"
          ]
        }
      }
    },
    "fortios:system/CsfTrustedList:CsfTrustedList": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Security fabric authorization action. Valid values: `accept`, `deny`.\n"
        },
        "authorizationType": {
          "type": "string",
          "description": "Authorization type. Valid values: `serial`, `certificate`.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate.\n"
        },
        "downstreamAuthorization": {
          "type": "string",
          "description": "Trust authorizations by this node's administrator. Valid values: `enable`, `disable`.\n"
        },
        "haMembers": {
          "type": "string",
          "description": "HA members.\n"
        },
        "index": {
          "type": "integer",
          "description": "Index of the downstream in tree.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "serial": {
          "type": "string",
          "description": "Serial.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "authorizationType",
            "downstreamAuthorization",
            "haMembers",
            "index",
            "name",
            "serial"
          ]
        }
      }
    },
    "fortios:system/DdnsDdnsServerAddr:DdnsDdnsServerAddr": {
      "properties": {
        "addr": {
          "type": "string",
          "description": "IP address or FQDN of the server.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addr"
          ]
        }
      }
    },
    "fortios:system/DdnsMonitorInterface:DdnsMonitorInterface": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:system/DeviceupgradeKnownHaMember:DeviceupgradeKnownHaMember": {
      "properties": {
        "serial": {
          "type": "string",
          "description": "Serial number of HA member\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "serial"
          ]
        }
      }
    },
    "fortios:system/DnsDomain:DnsDomain": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "DNS search domain list separated by space (maximum 8 domains)\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domain"
          ]
        }
      }
    },
    "fortios:system/DnsServerHostname:DnsServerHostname": {
      "properties": {
        "hostname": {
          "type": "string",
          "description": "DNS server host name list separated by space (maximum 4 domains).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "hostname"
          ]
        }
      }
    },
    "fortios:system/DnsdatabaseDnsEntry:DnsdatabaseDnsEntry": {
      "properties": {
        "canonicalName": {
          "type": "string",
          "description": "Canonical name of the host.\n"
        },
        "hostname": {
          "type": "string",
          "description": "Name of the host.\n"
        },
        "id": {
          "type": "integer",
          "description": "DNS entry ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the host.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "IPv6 address of the host.\n"
        },
        "preference": {
          "type": "integer",
          "description": "DNS entry preference (0 - 65535, highest preference = 0, default = 10).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable resource record status. Valid values: `enable`, `disable`.\n"
        },
        "ttl": {
          "type": "integer",
          "description": "Time-to-live for this entry (0 to 2147483647 sec, default = 0).\n"
        },
        "type": {
          "type": "string",
          "description": "Resource record type. Valid values: `A`, `NS`, `CNAME`, `MX`, `AAAA`, `PTR`, `PTR_V6`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "canonicalName",
            "hostname",
            "id",
            "ip",
            "ipv6",
            "preference",
            "status",
            "ttl",
            "type"
          ]
        }
      }
    },
    "fortios:system/EvpnExportRt:EvpnExportRt": {
      "properties": {
        "routeTarget": {
          "type": "string",
          "description": "Route target: AA|AA:NN.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "routeTarget"
          ]
        }
      }
    },
    "fortios:system/EvpnImportRt:EvpnImportRt": {
      "properties": {
        "routeTarget": {
          "type": "string",
          "description": "Route target: AA|AA:NN.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "routeTarget"
          ]
        }
      }
    },
    "fortios:system/FabricvpnAdvertisedSubnet:FabricvpnAdvertisedSubnet": {
      "properties": {
        "access": {
          "type": "string",
          "description": "Access policy direction. Valid values: `inbound`, `bidirectional`.\n"
        },
        "bgpNetwork": {
          "type": "integer",
          "description": "Underlying BGP network.\n"
        },
        "firewallAddress": {
          "type": "string",
          "description": "Underlying firewall address.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "policies": {
          "type": "integer",
          "description": "Underlying policies.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Network prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "access",
            "bgpNetwork",
            "firewallAddress",
            "id",
            "policies",
            "prefix"
          ]
        }
      }
    },
    "fortios:system/FabricvpnOverlay:FabricvpnOverlay": {
      "properties": {
        "bgpNeighbor": {
          "type": "string",
          "description": "Underlying BGP neighbor entry.\n"
        },
        "bgpNeighborGroup": {
          "type": "string",
          "description": "Underlying BGP neighbor group entry.\n"
        },
        "bgpNeighborRange": {
          "type": "integer",
          "description": "Underlying BGP neighbor range entry.\n"
        },
        "bgpNetwork": {
          "type": "integer",
          "description": "Underlying BGP network.\n"
        },
        "interface": {
          "type": "string",
          "description": "Underlying interface name.\n"
        },
        "ipsecPhase1": {
          "type": "string",
          "description": "IPsec interface.\n"
        },
        "name": {
          "type": "string",
          "description": "Overlay name.\n"
        },
        "overlayPolicy": {
          "type": "integer",
          "description": "The overlay policy to allow ADVPN thru traffic.\n"
        },
        "overlayTunnelBlock": {
          "type": "string",
          "description": "IPv4 address and subnet mask for the overlay tunnel , syntax: X.X.X.X/24.\n"
        },
        "remoteGw": {
          "type": "string",
          "description": "IP address of the hub gateway (Set by hub).\n"
        },
        "routePolicy": {
          "type": "integer",
          "description": "Underlying router policy.\n"
        },
        "sdwanMember": {
          "type": "integer",
          "description": "Reference to SD-WAN member entry.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "bgpNeighbor",
            "bgpNeighborGroup",
            "bgpNeighborRange",
            "bgpNetwork",
            "interface",
            "ipsecPhase1",
            "name",
            "overlayPolicy",
            "overlayTunnelBlock",
            "remoteGw",
            "routePolicy",
            "sdwanMember"
          ]
        }
      }
    },
    "fortios:system/FederatedupgradeKnownHaMember:FederatedupgradeKnownHaMember": {
      "properties": {
        "serial": {
          "type": "string",
          "description": "Serial number of HA member\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "serial"
          ]
        }
      }
    },
    "fortios:system/FederatedupgradeNodeList:FederatedupgradeNodeList": {
      "properties": {
        "coordinatingFortigate": {
          "type": "string",
          "description": "The serial of the FortiGate that controls this device\n"
        },
        "deviceType": {
          "type": "string",
          "description": "What type of device this node represents.\n"
        },
        "maximumMinutes": {
          "type": "integer",
          "description": "Maximum number of minutes to allow for immediate upgrade preparation.\n"
        },
        "serial": {
          "type": "string",
          "description": "Serial number of the node to include.\n"
        },
        "setupTime": {
          "type": "string",
          "description": "Upgrade preparation start time in UTC (hh:mm yyyy/mm/dd UTC).\n"
        },
        "time": {
          "type": "string",
          "description": "Scheduled upgrade execution time in UTC (hh:mm yyyy/mm/dd UTC).\n"
        },
        "timing": {
          "type": "string",
          "description": "Whether the upgrade should be run immediately, or at a scheduled time. Valid values: `immediate`, `scheduled`.\n"
        },
        "upgradePath": {
          "type": "string",
          "description": "Image IDs to upgrade through.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "coordinatingFortigate",
            "deviceType",
            "maximumMinutes",
            "serial",
            "setupTime",
            "time",
            "timing",
            "upgradePath"
          ]
        }
      }
    },
    "fortios:system/GeoipoverrideIp6Range:GeoipoverrideIp6Range": {
      "properties": {
        "endIp": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource with format {{name}}.\n"
        },
        "startIp": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp",
            "id",
            "startIp"
          ]
        }
      }
    },
    "fortios:system/GeoipoverrideIpRange:GeoipoverrideIpRange": {
      "properties": {
        "endIp": {
          "type": "string",
          "description": "Ending IP address, inclusive, of the address range (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
        },
        "id": {
          "type": "integer",
          "description": "ID of individual entry in the IPv6 range table.\n"
        },
        "startIp": {
          "type": "string",
          "description": "Starting IP address, inclusive, of the address range (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp",
            "id",
            "startIp"
          ]
        }
      }
    },
    "fortios:system/GlobalInternetServiceDownloadList:GlobalInternetServiceDownloadList": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/HaHaMgmtInterface:HaHaMgmtInterface": {
      "properties": {
        "dst": {
          "type": "string",
          "description": "Default route destination for reserved HA management interface.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Default route gateway for reserved HA management interface.\n"
        },
        "gateway6": {
          "type": "string",
          "description": "Default IPv6 gateway for reserved HA management interface.\n"
        },
        "id": {
          "type": "integer",
          "description": "Table ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface to reserve for HA management.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dst",
            "gateway",
            "gateway6",
            "id",
            "interface"
          ]
        }
      }
    },
    "fortios:system/HaSecondaryVcluster:HaSecondaryVcluster": {
      "properties": {
        "monitor": {
          "type": "string",
          "description": "Interfaces to check for port monitoring (or link failure).\n"
        },
        "override": {
          "type": "string",
          "description": "Enable and increase the priority of the unit that should always be primary. Valid values: `enable`, `disable`.\n"
        },
        "overrideWaitTime": {
          "type": "integer",
          "description": "Delay negotiating if override is enabled (0 - 3600 sec). Reduces how often the cluster negotiates.\n"
        },
        "pingserverFailoverThreshold": {
          "type": "integer",
          "description": "Remote IP monitoring failover threshold (0 - 50).\n"
        },
        "pingserverMonitorInterface": {
          "type": "string",
          "description": "Interfaces to check for remote IP monitoring.\n"
        },
        "pingserverSecondaryForceReset": {
          "type": "string",
          "description": "Enable to force the cluster to negotiate after a remote IP monitoring failover. Valid values: `enable`, `disable`.\n"
        },
        "pingserverSlaveForceReset": {
          "type": "string",
          "description": "Enable to force the cluster to negotiate after a remote IP monitoring failover. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Increase the priority to select the primary unit (0 - 255).\n"
        },
        "vclusterId": {
          "type": "integer",
          "description": "Cluster ID.\n"
        },
        "vdom": {
          "type": "string",
          "description": "VDOMs in virtual cluster 2.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "monitor",
            "override",
            "overrideWaitTime",
            "pingserverFailoverThreshold",
            "pingserverMonitorInterface",
            "pingserverSecondaryForceReset",
            "pingserverSlaveForceReset",
            "priority",
            "vclusterId",
            "vdom"
          ]
        }
      }
    },
    "fortios:system/HaUnicastPeer:HaUnicastPeer": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Table ID.\n"
        },
        "peerIp": {
          "type": "string",
          "description": "Unicast peer IP.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "peerIp"
          ]
        }
      }
    },
    "fortios:system/HaVcluster:HaVcluster": {
      "properties": {
        "monitor": {
          "type": "string",
          "description": "Interfaces to check for port monitoring (or link failure).\n"
        },
        "override": {
          "type": "string",
          "description": "Enable and increase the priority of the unit that should always be primary (master). Valid values: `enable`, `disable`.\n"
        },
        "overrideWaitTime": {
          "type": "integer",
          "description": "Delay negotiating if override is enabled (0 - 3600 sec). Reduces how often the cluster negotiates.\n"
        },
        "pingserverFailoverThreshold": {
          "type": "integer",
          "description": "Remote IP monitoring failover threshold (0 - 50).\n"
        },
        "pingserverFlipTimeout": {
          "type": "integer",
          "description": "Time to wait in minutes before renegotiating after a remote IP monitoring failover.\n"
        },
        "pingserverMonitorInterface": {
          "type": "string",
          "description": "Interfaces to check for remote IP monitoring.\n"
        },
        "pingserverSecondaryForceReset": {
          "type": "string",
          "description": "Enable to force the cluster to negotiate after a remote IP monitoring failover. Valid values: `enable`, `disable`.\n"
        },
        "pingserverSlaveForceReset": {
          "type": "string",
          "description": "Enable to force the cluster to negotiate after a remote IP monitoring failover. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Increase the priority to select the primary unit (0 - 255).\n"
        },
        "vclusterId": {
          "type": "integer",
          "description": "ID.\n"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FHaVclusterVdom:HaVclusterVdom"
          },
          "description": "Virtual domain(s) in the virtual cluster. The structure of `vdom` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "monitor",
            "override",
            "overrideWaitTime",
            "pingserverFailoverThreshold",
            "pingserverFlipTimeout",
            "pingserverMonitorInterface",
            "pingserverSecondaryForceReset",
            "pingserverSlaveForceReset",
            "priority",
            "vclusterId"
          ]
        }
      }
    },
    "fortios:system/HaVclusterVdom:HaVclusterVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual domain name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup14:IkeDhGroup14": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup15:IkeDhGroup15": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup16:IkeDhGroup16": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup17:IkeDhGroup17": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup18:IkeDhGroup18": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup19:IkeDhGroup19": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup1:IkeDhGroup1": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup20:IkeDhGroup20": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup21:IkeDhGroup21": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup27:IkeDhGroup27": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup28:IkeDhGroup28": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup29:IkeDhGroup29": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup2:IkeDhGroup2": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup30:IkeDhGroup30": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup31:IkeDhGroup31": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup32:IkeDhGroup32": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/IkeDhGroup5:IkeDhGroup5": {
      "properties": {
        "keypairCache": {
          "type": "string",
          "description": "Configure custom key pair cache size for this Diffie-Hellman group. Valid values: `global`, `custom`.\n"
        },
        "keypairCount": {
          "type": "integer",
          "description": "Number of key pairs to pre-generate for this Diffie-Hellman group (per-worker).\n"
        },
        "mode": {
          "type": "string",
          "description": "Use software (CPU) or hardware (CPX) to perform calculations for this Diffie-Hellman group. Valid values: `software`, `hardware`, `global`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "keypairCache",
            "keypairCount",
            "mode"
          ]
        }
      }
    },
    "fortios:system/InterfaceClientOption:InterfaceClientOption": {
      "properties": {
        "code": {
          "type": "integer",
          "description": "DHCP client option code.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "DHCP option IPs.\n"
        },
        "type": {
          "type": "string",
          "description": "DHCP client option type. Valid values: `hex`, `string`, `ip`, `fqdn`.\n"
        },
        "value": {
          "type": "string",
          "description": "DHCP client option value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "code",
            "id",
            "ip",
            "type",
            "value"
          ]
        }
      }
    },
    "fortios:system/InterfaceDhcpSnoopingServerList:InterfaceDhcpSnoopingServerList": {
      "properties": {
        "name": {
          "type": "string",
          "description": "DHCP server name.\n"
        },
        "serverIp": {
          "type": "string",
          "description": "IP address for DHCP server.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "serverIp"
          ]
        }
      }
    },
    "fortios:system/InterfaceFailAlertInterface:InterfaceFailAlertInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of the physical interfaces belonging to the aggregate or redundant interface.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/InterfaceIpv6:InterfaceIpv6": {
      "properties": {
        "autoconf": {
          "type": "string"
        },
        "cliConn6Status": {
          "type": "integer"
        },
        "dhcp6ClientOptions": {
          "type": "string"
        },
        "dhcp6IapdLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceIpv6Dhcp6IapdList:InterfaceIpv6Dhcp6IapdList"
          }
        },
        "dhcp6InformationRequest": {
          "type": "string"
        },
        "dhcp6PrefixDelegation": {
          "type": "string"
        },
        "dhcp6PrefixHint": {
          "type": "string"
        },
        "dhcp6PrefixHintPlt": {
          "type": "integer"
        },
        "dhcp6PrefixHintVlt": {
          "type": "integer"
        },
        "dhcp6RelayInterfaceId": {
          "type": "string"
        },
        "dhcp6RelayIp": {
          "type": "string"
        },
        "dhcp6RelayService": {
          "type": "string"
        },
        "dhcp6RelaySourceInterface": {
          "type": "string"
        },
        "dhcp6RelaySourceIp": {
          "type": "string"
        },
        "dhcp6RelayType": {
          "type": "string"
        },
        "icmp6SendRedirect": {
          "type": "string"
        },
        "interfaceIdentifier": {
          "type": "string"
        },
        "ip6Address": {
          "type": "string"
        },
        "ip6Allowaccess": {
          "type": "string"
        },
        "ip6DefaultLife": {
          "type": "integer"
        },
        "ip6DelegatedPrefixIaid": {
          "type": "integer"
        },
        "ip6DelegatedPrefixLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceIpv6Ip6DelegatedPrefixList:InterfaceIpv6Ip6DelegatedPrefixList"
          }
        },
        "ip6DnsServerOverride": {
          "type": "string"
        },
        "ip6ExtraAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceIpv6Ip6ExtraAddr:InterfaceIpv6Ip6ExtraAddr"
          }
        },
        "ip6HopLimit": {
          "type": "integer"
        },
        "ip6LinkMtu": {
          "type": "integer"
        },
        "ip6ManageFlag": {
          "type": "string"
        },
        "ip6MaxInterval": {
          "type": "integer"
        },
        "ip6MinInterval": {
          "type": "integer"
        },
        "ip6Mode": {
          "type": "string"
        },
        "ip6OtherFlag": {
          "type": "string"
        },
        "ip6PrefixLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceIpv6Ip6PrefixList:InterfaceIpv6Ip6PrefixList"
          }
        },
        "ip6PrefixMode": {
          "type": "string"
        },
        "ip6ReachableTime": {
          "type": "integer"
        },
        "ip6RetransTime": {
          "type": "integer"
        },
        "ip6SendAdv": {
          "type": "string"
        },
        "ip6Subnet": {
          "type": "string"
        },
        "ip6UpstreamInterface": {
          "type": "string"
        },
        "ndCert": {
          "type": "string"
        },
        "ndCgaModifier": {
          "type": "string"
        },
        "ndMode": {
          "type": "string"
        },
        "ndSecurityLevel": {
          "type": "integer"
        },
        "ndTimestampDelta": {
          "type": "integer"
        },
        "ndTimestampFuzz": {
          "type": "integer"
        },
        "raSendMtu": {
          "type": "string"
        },
        "uniqueAutoconfAddr": {
          "type": "string"
        },
        "vrip6LinkLocal": {
          "type": "string"
        },
        "vrrp6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceIpv6Vrrp6:InterfaceIpv6Vrrp6"
          }
        },
        "vrrpVirtualMac6": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoconf",
            "cliConn6Status",
            "dhcp6ClientOptions",
            "dhcp6InformationRequest",
            "dhcp6PrefixDelegation",
            "dhcp6PrefixHint",
            "dhcp6PrefixHintPlt",
            "dhcp6PrefixHintVlt",
            "dhcp6RelayInterfaceId",
            "dhcp6RelayIp",
            "dhcp6RelayService",
            "dhcp6RelaySourceInterface",
            "dhcp6RelaySourceIp",
            "dhcp6RelayType",
            "icmp6SendRedirect",
            "interfaceIdentifier",
            "ip6Address",
            "ip6Allowaccess",
            "ip6DefaultLife",
            "ip6DelegatedPrefixIaid",
            "ip6DnsServerOverride",
            "ip6HopLimit",
            "ip6LinkMtu",
            "ip6ManageFlag",
            "ip6MaxInterval",
            "ip6MinInterval",
            "ip6Mode",
            "ip6OtherFlag",
            "ip6PrefixMode",
            "ip6ReachableTime",
            "ip6RetransTime",
            "ip6SendAdv",
            "ip6Subnet",
            "ip6UpstreamInterface",
            "ndCert",
            "ndCgaModifier",
            "ndMode",
            "ndSecurityLevel",
            "ndTimestampDelta",
            "ndTimestampFuzz",
            "raSendMtu",
            "uniqueAutoconfAddr",
            "vrip6LinkLocal",
            "vrrpVirtualMac6"
          ]
        }
      }
    },
    "fortios:system/InterfaceIpv6Dhcp6IapdList:InterfaceIpv6Dhcp6IapdList": {
      "properties": {
        "iaid": {
          "type": "integer"
        },
        "prefixHint": {
          "type": "string"
        },
        "prefixHintPlt": {
          "type": "integer"
        },
        "prefixHintVlt": {
          "type": "integer"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "iaid",
            "prefixHint",
            "prefixHintPlt",
            "prefixHintVlt"
          ]
        }
      }
    },
    "fortios:system/InterfaceIpv6Ip6DelegatedPrefixList:InterfaceIpv6Ip6DelegatedPrefixList": {
      "properties": {
        "autonomousFlag": {
          "type": "string"
        },
        "delegatedPrefixIaid": {
          "type": "integer"
        },
        "onlinkFlag": {
          "type": "string"
        },
        "prefixId": {
          "type": "integer"
        },
        "rdnss": {
          "type": "string"
        },
        "rdnssService": {
          "type": "string"
        },
        "subnet": {
          "type": "string"
        },
        "upstreamInterface": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autonomousFlag",
            "delegatedPrefixIaid",
            "onlinkFlag",
            "prefixId",
            "rdnss",
            "rdnssService",
            "subnet",
            "upstreamInterface"
          ]
        }
      }
    },
    "fortios:system/InterfaceIpv6Ip6ExtraAddr:InterfaceIpv6Ip6ExtraAddr": {
      "properties": {
        "prefix": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "prefix"
          ]
        }
      }
    },
    "fortios:system/InterfaceIpv6Ip6PrefixList:InterfaceIpv6Ip6PrefixList": {
      "properties": {
        "autonomousFlag": {
          "type": "string"
        },
        "dnssls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceIpv6Ip6PrefixListDnssl:InterfaceIpv6Ip6PrefixListDnssl"
          }
        },
        "onlinkFlag": {
          "type": "string"
        },
        "preferredLifeTime": {
          "type": "integer"
        },
        "prefix": {
          "type": "string"
        },
        "rdnss": {
          "type": "string"
        },
        "validLifeTime": {
          "type": "integer"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autonomousFlag",
            "onlinkFlag",
            "preferredLifeTime",
            "prefix",
            "rdnss",
            "validLifeTime"
          ]
        }
      }
    },
    "fortios:system/InterfaceIpv6Ip6PrefixListDnssl:InterfaceIpv6Ip6PrefixListDnssl": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Domain name.\n\nThe `ip6_delegated_prefix_list` block supports:\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domain"
          ]
        }
      }
    },
    "fortios:system/InterfaceIpv6Vrrp6:InterfaceIpv6Vrrp6": {
      "properties": {
        "acceptMode": {
          "type": "string"
        },
        "advInterval": {
          "type": "integer"
        },
        "ignoreDefaultRoute": {
          "type": "string"
        },
        "preempt": {
          "type": "string"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of learned routes.\n"
        },
        "startTime": {
          "type": "integer"
        },
        "status": {
          "type": "string",
          "description": "Bring the interface up or shut the interface down. Valid values: `up`, `down`.\n"
        },
        "vrdst6": {
          "type": "string"
        },
        "vrgrp": {
          "type": "integer"
        },
        "vrid": {
          "type": "integer"
        },
        "vrip6": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "acceptMode",
            "advInterval",
            "ignoreDefaultRoute",
            "preempt",
            "priority",
            "startTime",
            "status",
            "vrdst6",
            "vrgrp",
            "vrid",
            "vrip6"
          ]
        }
      }
    },
    "fortios:system/InterfaceManagedDevice:InterfaceManagedDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Managed dev identifier.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/InterfaceMember:InterfaceMember": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Physical interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:system/InterfaceSecondaryip:InterfaceSecondaryip": {
      "properties": {
        "allowaccess": {
          "type": "string",
          "description": "Management access settings for the secondary IP address.\n"
        },
        "detectprotocol": {
          "type": "string",
          "description": "Protocols used to detect the server. Valid values: `ping`, `tcp-echo`, `udp-echo`.\n"
        },
        "detectserver": {
          "type": "string",
          "description": "Gateway's ping server for this IP.\n"
        },
        "gwdetect": {
          "type": "string",
          "description": "Enable/disable detect gateway alive for first. Valid values: `enable`, `disable`.\n"
        },
        "haPriority": {
          "type": "integer",
          "description": "HA election priority for the PING server.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "Secondary IP address of the interface.\n"
        },
        "pingServStatus": {
          "type": "integer",
          "description": "PING server status.\n"
        },
        "secipRelayIp": {
          "type": "string",
          "description": "DHCP relay IP address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "allowaccess",
            "detectprotocol",
            "detectserver",
            "gwdetect",
            "haPriority",
            "id",
            "ip",
            "pingServStatus",
            "secipRelayIp"
          ]
        }
      }
    },
    "fortios:system/InterfaceSecurityGroup:InterfaceSecurityGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Names of user groups that can authenticate with the captive portal.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/InterfaceTagging:InterfaceTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceTaggingTag:InterfaceTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:system/InterfaceTaggingTag:InterfaceTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n\nThe `ipv6` block supports:\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/InterfaceVrrp:InterfaceVrrp": {
      "properties": {
        "acceptMode": {
          "type": "string",
          "description": "Enable/disable accept mode. Valid values: `enable`, `disable`.\n"
        },
        "advInterval": {
          "type": "integer",
          "description": "Advertisement interval (1 - 255 seconds).\n"
        },
        "ignoreDefaultRoute": {
          "type": "string",
          "description": "Enable/disable ignoring of default route when checking destination. Valid values: `enable`, `disable`.\n"
        },
        "preempt": {
          "type": "string",
          "description": "Enable/disable preempt mode. Valid values: `enable`, `disable`.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of the virtual router (1 - 255).\n"
        },
        "proxyArps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FInterfaceVrrpProxyArp:InterfaceVrrpProxyArp"
          },
          "description": "VRRP Proxy ARP configuration. The structure of `proxy_arp` block is documented below.\n"
        },
        "startTime": {
          "type": "integer",
          "description": "Startup time (1 - 255 seconds).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this VRRP configuration. Valid values: `enable`, `disable`.\n"
        },
        "version": {
          "type": "string",
          "description": "VRRP version. Valid values: `2`, `3`.\n"
        },
        "vrdst": {
          "type": "string",
          "description": "Monitor the route to this destination.\n"
        },
        "vrdstPriority": {
          "type": "integer",
          "description": "Priority of the virtual router when the virtual router destination becomes unreachable (0 - 254).\n"
        },
        "vrgrp": {
          "type": "integer",
          "description": "VRRP group ID (1 - 65535).\n"
        },
        "vrid": {
          "type": "integer",
          "description": "Virtual router identifier (1 - 255).\n"
        },
        "vrip": {
          "type": "string",
          "description": "IP address of the virtual router.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "acceptMode",
            "advInterval",
            "ignoreDefaultRoute",
            "preempt",
            "priority",
            "startTime",
            "status",
            "version",
            "vrdst",
            "vrdstPriority",
            "vrgrp",
            "vrid",
            "vrip"
          ]
        }
      }
    },
    "fortios:system/InterfaceVrrpProxyArp:InterfaceVrrpProxyArp": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "Set IP addresses of proxy ARP.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ip"
          ]
        }
      }
    },
    "fortios:system/IpamPool:IpamPool": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "excludes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FIpamPoolExclude:IpamPoolExclude"
          },
          "description": "Configure pool exclude subnets. The structure of `exclude` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "IPAM pool name.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Configure IPAM pool subnet, Class A - Class B subnet.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "name",
            "subnet"
          ]
        }
      }
    },
    "fortios:system/IpamPoolExclude:IpamPoolExclude": {
      "properties": {
        "excludeSubnet": {
          "type": "string",
          "description": "Configure subnet to exclude from the IPAM pool.\n"
        },
        "id": {
          "type": "integer",
          "description": "Exclude ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "excludeSubnet",
            "id"
          ]
        }
      }
    },
    "fortios:system/IpamRule:IpamRule": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FIpamRuleDevice:IpamRuleDevice"
          },
          "description": "Configure serial number or wildcard of Fortigate to match. The structure of `device` block is documented below.\n"
        },
        "dhcp": {
          "type": "string",
          "description": "Enable/disable DHCP server for matching IPAM interfaces. Valid values: `enable`, `disable`.\n"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FIpamRuleInterface:IpamRuleInterface"
          },
          "description": "Configure name or wildcard of interface to match. The structure of `interface` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "IPAM rule name.\n"
        },
        "pools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FIpamRulePool:IpamRulePool"
          },
          "description": "Configure name of IPAM pool to use. The structure of `pool` block is documented below.\n"
        },
        "role": {
          "type": "string",
          "description": "Configure role of interface to match. Valid values: `any`, `lan`, `wan`, `dmz`, `undefined`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "dhcp",
            "name",
            "role"
          ]
        }
      }
    },
    "fortios:system/IpamRuleDevice:IpamRuleDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Fortigate serial number or wildcard.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/IpamRuleInterface:IpamRuleInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name or wildcard.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/IpamRulePool:IpamRulePool": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Ipam pool name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/IpsecaggregateMember:IpsecaggregateMember": {
      "properties": {
        "tunnelName": {
          "type": "string",
          "description": "Tunnel name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "tunnelName"
          ]
        }
      }
    },
    "fortios:system/LinkmonitorRoute:LinkmonitorRoute": {
      "properties": {
        "subnet": {
          "type": "string",
          "description": "IP and netmask (x.x.x.x/y).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "subnet"
          ]
        }
      }
    },
    "fortios:system/LinkmonitorServer:LinkmonitorServer": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Server address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "address"
          ]
        }
      }
    },
    "fortios:system/LinkmonitorServerList:LinkmonitorServerList": {
      "properties": {
        "dst": {
          "type": "string",
          "description": "IP address of the server to be monitored.\n"
        },
        "id": {
          "type": "integer",
          "description": "Server ID.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port number of the traffic to be used to monitor the server.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocols used to monitor the server.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of the monitor to this dst (0 - 255).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dst",
            "id",
            "port",
            "protocol",
            "weight"
          ]
        }
      }
    },
    "fortios:system/MobiletunnelNetwork:MobiletunnelNetwork": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Network entry ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Select the associated interface name from available options.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Class IP and Netmask with correction (Format:xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx or xxx.xxx.xxx.xxx/x).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "interface",
            "prefix"
          ]
        }
      }
    },
    "fortios:system/Nat64SecondaryPrefix:Nat64SecondaryPrefix": {
      "properties": {
        "name": {
          "type": "string",
          "description": "NAT64 prefix name.\n"
        },
        "nat64Prefix": {
          "type": "string",
          "description": "NAT64 prefix.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "nat64Prefix"
          ]
        }
      }
    },
    "fortios:system/NdproxyMember:NdproxyMember": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:system/NetflowCollector:NetflowCollector": {
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "Collector IP.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "NetFlow collector port number.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication with the NetFlow agent.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "collectorIp",
            "collectorPort",
            "id",
            "interface",
            "interfaceSelectMethod",
            "sourceIp"
          ]
        }
      }
    },
    "fortios:system/NpuPriorityProtocol:NpuPriorityProtocol": {
      "properties": {
        "bfd": {
          "type": "string",
          "description": "Enable/disable NPU BFD priority protocol. Valid values: `enable`, `disable`.\n"
        },
        "bgp": {
          "type": "string",
          "description": "Enable/disable NPU BGP priority protocol. Valid values: `enable`, `disable`.\n"
        },
        "slbc": {
          "type": "string",
          "description": "Enable/disable NPU SLBC priority protocol. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "bfd",
            "bgp",
            "slbc"
          ]
        }
      }
    },
    "fortios:system/NtpInterface:NtpInterface": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:system/NtpNtpserver:NtpNtpserver": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Enable/disable MD5/SHA1 authentication. Valid values: `enable`, `disable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "NTP server ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipType": {
          "type": "string",
          "description": "Choose to connect to IPv4 or/and IPv6 NTP server. Valid values: `IPv6`, `IPv4`, `Both`.\n"
        },
        "key": {
          "type": "string",
          "description": "Key for authentication. On FortiOS versions 6.2.0: MD5(NTPv3)/SHA1(NTPv4). On FortiOS versions >= 7.4.4: MD5(NTPv3)/SHA1(NTPv4)/SHA256(NTPv4).\n",
          "secret": true
        },
        "keyId": {
          "type": "integer",
          "description": "Key ID for authentication.\n"
        },
        "keyType": {
          "type": "string",
          "description": "Select NTP authentication type. Valid values: `MD5`, `SHA1`, `SHA256`.\n"
        },
        "ntpv3": {
          "type": "string",
          "description": "Enable to use NTPv3 instead of NTPv4. Valid values: `enable`, `disable`.\n"
        },
        "server": {
          "type": "string",
          "description": "IP address or hostname of the NTP Server.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authentication",
            "id",
            "interface",
            "interfaceSelectMethod",
            "ipType",
            "keyId",
            "keyType",
            "ntpv3",
            "server"
          ]
        }
      }
    },
    "fortios:system/ObjecttaggingTag:ObjecttaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/PcpserverPool:PcpserverPool": {
      "properties": {
        "allowOpcode": {
          "type": "string",
          "description": "Allowed PCP opcode. Valid values: `map`, `peer`, `announce`.\n"
        },
        "announcementCount": {
          "type": "integer",
          "description": "Number of multicast announcements.\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable to respond to ARP requests for external IP (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "clientMappingLimit": {
          "type": "integer",
          "description": "Mapping limit per client (0 - 65535, default = 0, 0 = unlimited).\n"
        },
        "clientSubnets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FPcpserverPoolClientSubnet:PcpserverPoolClientSubnet"
          },
          "description": "Subnets from which PCP requests are accepted. The structure of `client_subnet` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "extIntf": {
          "type": "string",
          "description": "External interface name.\n"
        },
        "extip": {
          "type": "string",
          "description": "IP address or address range on the external interface that you want to map to an address on the internal network.\n"
        },
        "extport": {
          "type": "string",
          "description": "Incoming port number range that you want to map to a port number on the internal network.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "intlIntfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FPcpserverPoolIntlIntf:PcpserverPoolIntlIntf"
          },
          "description": "Internal interface name. The structure of `intl_intf` block is documented below.\n"
        },
        "mappingFilterLimit": {
          "type": "integer",
          "description": "Filter limit per mapping (0 - 5, default = 1).\n"
        },
        "maximalLifetime": {
          "type": "integer",
          "description": "Maximal lifetime of a PCP mapping in seconds (3600 - 604800, default = 86400).\n"
        },
        "minimalLifetime": {
          "type": "integer",
          "description": "Minimal lifetime of a PCP mapping in seconds (60 - 300, default = 120).\n"
        },
        "multicastAnnouncement": {
          "type": "string",
          "description": "Enable/disable multicast announcements. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "PCP pool name.\n"
        },
        "recycleDelay": {
          "type": "integer",
          "description": "Minimum delay (in seconds) the PCP Server will wait before recycling mappings that have expired (0 - 3600, default = 0).\n"
        },
        "thirdParty": {
          "type": "string",
          "description": "Allow/disallow third party option. Valid values: `allow`, `disallow`.\n"
        },
        "thirdPartySubnets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FPcpserverPoolThirdPartySubnet:PcpserverPoolThirdPartySubnet"
          },
          "description": "Subnets from which third party requests are accepted. The structure of `third_party_subnet` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "allowOpcode",
            "announcementCount",
            "arpReply",
            "clientMappingLimit",
            "description",
            "extIntf",
            "extip",
            "extport",
            "id",
            "mappingFilterLimit",
            "maximalLifetime",
            "minimalLifetime",
            "multicastAnnouncement",
            "name",
            "recycleDelay",
            "thirdParty"
          ]
        }
      }
    },
    "fortios:system/PcpserverPoolClientSubnet:PcpserverPoolClientSubnet": {
      "properties": {
        "subnet": {
          "type": "string",
          "description": "Client subnets.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "subnet"
          ]
        }
      }
    },
    "fortios:system/PcpserverPoolIntlIntf:PcpserverPoolIntlIntf": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:system/PcpserverPoolThirdPartySubnet:PcpserverPoolThirdPartySubnet": {
      "properties": {
        "subnet": {
          "type": "string",
          "description": "Third party subnets.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "subnet"
          ]
        }
      }
    },
    "fortios:system/PtpServerInterface:PtpServerInterface": {
      "properties": {
        "delayMechanism": {
          "type": "string",
          "description": "End to end delay detection or peer to peer delay detection. Valid values: `E2E`, `P2P`.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "serverInterfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "delayMechanism",
            "id",
            "serverInterfaceName"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupAdmin:ReplacemsggroupAdmin": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupAlertmail:ReplacemsggroupAlertmail": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupAuth:ReplacemsggroupAuth": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupAutomation:ReplacemsggroupAutomation": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag. Valid values: `none`, `text`, `html`.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupCustomMessage:ReplacemsggroupCustomMessage": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupDeviceDetectionPortal:ReplacemsggroupDeviceDetectionPortal": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupEc:ReplacemsggroupEc": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag. Valid values: `none`, `text`, `html`, `wml`.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupFortiguardWf:ReplacemsggroupFortiguardWf": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupFtp:ReplacemsggroupFtp": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupHttp:ReplacemsggroupHttp": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupIcap:ReplacemsggroupIcap": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupMail:ReplacemsggroupMail": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupNacQuar:ReplacemsggroupNacQuar": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupNntp:ReplacemsggroupNntp": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupSpam:ReplacemsggroupSpam": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupSslvpn:ReplacemsggroupSslvpn": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupTrafficQuota:ReplacemsggroupTrafficQuota": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupUtm:ReplacemsggroupUtm": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/ReplacemsggroupWebproxy:ReplacemsggroupWebproxy": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag. Valid values: `none`, `http`, `8bit`.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "format",
            "header",
            "msgType"
          ]
        }
      }
    },
    "fortios:system/SamlServiceProvider:SamlServiceProvider": {
      "properties": {
        "assertionAttributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSamlServiceProviderAssertionAttribute:SamlServiceProviderAssertionAttribute"
          },
          "description": "Customized SAML attributes to send along with assertion. The structure of `assertion_attributes` block is documented below.\n"
        },
        "idpEntityId": {
          "type": "string",
          "description": "IDP entity ID.\n"
        },
        "idpSingleLogoutUrl": {
          "type": "string",
          "description": "IDP single logout URL.\n"
        },
        "idpSingleSignOnUrl": {
          "type": "string",
          "description": "IDP single sign-on URL.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Prefix.\n"
        },
        "spBindingProtocol": {
          "type": "string",
          "description": "SP binding protocol. Valid values: `post`, `redirect`.\n"
        },
        "spCert": {
          "type": "string",
          "description": "SP certificate name.\n"
        },
        "spEntityId": {
          "type": "string",
          "description": "SP entity ID.\n"
        },
        "spPortalUrl": {
          "type": "string",
          "description": "SP portal URL.\n"
        },
        "spSingleLogoutUrl": {
          "type": "string",
          "description": "SP single logout URL.\n"
        },
        "spSingleSignOnUrl": {
          "type": "string",
          "description": "SP single sign-on URL.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "idpEntityId",
            "idpSingleLogoutUrl",
            "idpSingleSignOnUrl",
            "name",
            "prefix",
            "spBindingProtocol",
            "spCert",
            "spEntityId",
            "spPortalUrl",
            "spSingleLogoutUrl",
            "spSingleSignOnUrl"
          ]
        }
      }
    },
    "fortios:system/SamlServiceProviderAssertionAttribute:SamlServiceProviderAssertionAttribute": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "type": {
          "type": "string",
          "description": "Type.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "type"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorCompartmentList:SdnconnectorCompartmentList": {
      "properties": {
        "compartmentId": {
          "type": "string",
          "description": "OCI compartment ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "compartmentId"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorExternalAccountList:SdnconnectorExternalAccountList": {
      "properties": {
        "externalId": {
          "type": "string",
          "description": "AWS external ID.\n"
        },
        "regionLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorExternalAccountListRegionList:SdnconnectorExternalAccountListRegionList"
          },
          "description": "AWS region name list. The structure of `region_list` block is documented below.\n"
        },
        "roleArn": {
          "type": "string",
          "description": "AWS role ARN to assume.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "externalId",
            "roleArn"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorExternalAccountListRegionList:SdnconnectorExternalAccountListRegionList": {
      "properties": {
        "region": {
          "type": "string",
          "description": "AWS region name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "region"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorExternalIp:SdnconnectorExternalIp": {
      "properties": {
        "name": {
          "type": "string",
          "description": "External IP name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorForwardingRule:SdnconnectorForwardingRule": {
      "properties": {
        "ruleName": {
          "type": "string",
          "description": "Forwarding rule name.\n"
        },
        "target": {
          "type": "string",
          "description": "Target instance name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ruleName",
            "target"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorGcpProjectList:SdnconnectorGcpProjectList": {
      "properties": {
        "gcpZoneLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorGcpProjectListGcpZoneList:SdnconnectorGcpProjectListGcpZoneList"
          },
          "description": "Configure GCP zone list. The structure of `gcp_zone_list` block is documented below.\n"
        },
        "id": {
          "type": "string",
          "description": "GCP project ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorGcpProjectListGcpZoneList:SdnconnectorGcpProjectListGcpZoneList": {
      "properties": {
        "name": {
          "type": "string",
          "description": "GCP zone name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorNic:SdnconnectorNic": {
      "properties": {
        "ips": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorNicIp:SdnconnectorNicIp"
          },
          "description": "Configure IP configuration. The structure of `ip` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Network interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorNicIp:SdnconnectorNicIp": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IP configuration name.\n"
        },
        "publicIp": {
          "type": "string",
          "description": "Public IP name.\n"
        },
        "resourceGroup": {
          "type": "string",
          "description": "Resource group of Azure public IP.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "publicIp",
            "resourceGroup"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorOciRegionList:SdnconnectorOciRegionList": {
      "properties": {
        "region": {
          "type": "string",
          "description": "OCI region.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "region"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorRoute:SdnconnectorRoute": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Route name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorRouteTable:SdnconnectorRouteTable": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Route table name.\n"
        },
        "resourceGroup": {
          "type": "string",
          "description": "Resource group of Azure route table.\n"
        },
        "routes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdnconnectorRouteTableRoute:SdnconnectorRouteTableRoute"
          },
          "description": "Configure Azure route. The structure of `route` block is documented below.\n"
        },
        "subscriptionId": {
          "type": "string",
          "description": "Subscription ID of Azure route table.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "resourceGroup",
            "subscriptionId"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorRouteTableRoute:SdnconnectorRouteTableRoute": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Route name.\n"
        },
        "nextHop": {
          "type": "string",
          "description": "Next hop address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "nextHop"
          ]
        }
      }
    },
    "fortios:system/SdnconnectorServerList:SdnconnectorServerList": {
      "properties": {
        "ip": {
          "type": "string",
          "description": "IPv4 address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ip"
          ]
        }
      }
    },
    "fortios:system/SdwanDuplication:SdwanDuplication": {
      "properties": {
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanDuplicationDstaddr6:SdwanDuplicationDstaddr6"
          },
          "description": "Destination address6 or address6 group names. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanDuplicationDstaddr:SdwanDuplicationDstaddr"
          },
          "description": "Destination address or address group names. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanDuplicationDstintf:SdwanDuplicationDstintf"
          },
          "description": "Outgoing (egress) interfaces or zones. The structure of `dstintf` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "Duplication rule ID (1 - 255).\n"
        },
        "packetDeDuplication": {
          "type": "string",
          "description": "Enable/disable discarding of packets that have been duplicated. Valid values: `enable`, `disable`.\n"
        },
        "packetDuplication": {
          "type": "string",
          "description": "Configure packet duplication method. Valid values: `disable`, `force`, `on-demand`.\n"
        },
        "serviceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanDuplicationServiceId:SdwanDuplicationServiceId"
          },
          "description": "SD-WAN service rule ID list. The structure of `service_id` block is documented below.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanDuplicationService:SdwanDuplicationService"
          },
          "description": "Service and service group name. The structure of `service` block is documented below.\n"
        },
        "slaMatchService": {
          "type": "string",
          "description": "Enable/disable packet duplication matching health-check SLAs in service rule. Valid values: `enable`, `disable`.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanDuplicationSrcaddr6:SdwanDuplicationSrcaddr6"
          },
          "description": "Source address6 or address6 group names. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanDuplicationSrcaddr:SdwanDuplicationSrcaddr"
          },
          "description": "Source address or address group names. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanDuplicationSrcintf:SdwanDuplicationSrcintf"
          },
          "description": "Incoming (ingress) interfaces or zones. The structure of `srcintf` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "packetDeDuplication",
            "packetDuplication",
            "slaMatchService"
          ]
        }
      }
    },
    "fortios:system/SdwanDuplicationDstaddr6:SdwanDuplicationDstaddr6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanDuplicationDstaddr:SdwanDuplicationDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address6 or address6 group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanDuplicationDstintf:SdwanDuplicationDstintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface, zone or SDWAN zone name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanDuplicationService:SdwanDuplicationService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service and service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanDuplicationServiceId:SdwanDuplicationServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "SD-WAN service rule ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/SdwanDuplicationSrcaddr6:SdwanDuplicationSrcaddr6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanDuplicationSrcaddr:SdwanDuplicationSrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address or address group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanDuplicationSrcintf:SdwanDuplicationSrcintf": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface, zone or SDWAN zone name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanFailAlertInterface:SdwanFailAlertInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Physical interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanHealthCheck:SdwanHealthCheck": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "classId": {
          "type": "integer",
          "description": "Traffic class ID.\n"
        },
        "detectMode": {
          "type": "string",
          "description": "The mode determining how to detect the server.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "Differentiated services code point (DSCP) in the IP header of the probe packet.\n"
        },
        "dnsMatchIp": {
          "type": "string",
          "description": "Response IP expected from DNS server if the protocol is DNS.\n"
        },
        "dnsRequestDomain": {
          "type": "string",
          "description": "Fully qualified domain name to resolve for the DNS probe.\n"
        },
        "embedMeasuredHealth": {
          "type": "string",
          "description": "Enable/disable embedding measured health information. Valid values: `enable`, `disable`.\n"
        },
        "failtime": {
          "type": "integer",
          "description": "Number of failures before server is considered lost (1 - 3600, default = 5).\n"
        },
        "ftpFile": {
          "type": "string",
          "description": "Full path and file name on the FTP server to download for FTP health-check to probe.\n"
        },
        "ftpMode": {
          "type": "string",
          "description": "FTP mode. Valid values: `passive`, `port`.\n"
        },
        "haPriority": {
          "type": "integer",
          "description": "HA election priority (1 - 50).\n"
        },
        "httpAgent": {
          "type": "string",
          "description": "String in the http-agent field in the HTTP header.\n"
        },
        "httpGet": {
          "type": "string",
          "description": "URL used to communicate with the server if the protocol if the protocol is HTTP.\n"
        },
        "httpMatch": {
          "type": "string",
          "description": "Response string expected from the server if the protocol is HTTP.\n"
        },
        "interval": {
          "type": "integer",
          "description": "Status check interval in milliseconds, or the time between attempting to connect to the server (default = 500). On FortiOS versions 6.4.1-7.0.10, 7.2.0-7.2.4: 500 - 3600*1000 msec. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 3600*1000 msec.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanHealthCheckMember:SdwanHealthCheckMember"
          },
          "description": "Member sequence number list. The structure of `members` block is documented below.\n"
        },
        "mosCodec": {
          "type": "string",
          "description": "Codec to use for MOS calculation (default = g711). Valid values: `g711`, `g722`, `g729`.\n"
        },
        "name": {
          "type": "string",
          "description": "Health check name.\n"
        },
        "packetSize": {
          "type": "integer",
          "description": "Packet size of a TWAMP test session. (124/158 - 1024)\n"
        },
        "password": {
          "type": "string",
          "description": "Twamp controller password in authentication mode\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number used to communicate with the server over the selected protocol (0 - 65535, default = 0, auto select. http, tcp-connect: 80, udp-echo, tcp-echo: 7, dns: 53, ftp: 21, twamp: 862).\n"
        },
        "probeCount": {
          "type": "integer",
          "description": "Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30).\n"
        },
        "probePackets": {
          "type": "string",
          "description": "Enable/disable transmission of probe packets. Valid values: `disable`, `enable`.\n"
        },
        "probeTimeout": {
          "type": "integer",
          "description": "Time to wait before a probe packet is considered lost (default = 500). On FortiOS versions 6.4.2-7.0.10, 7.2.0-7.2.4: 500 - 3600*1000 msec. On FortiOS versions 6.4.1: 500 - 5000 msec. On FortiOS versions 7.0.11-7.0.15, >= 7.2.6: 20 - 3600*1000 msec.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol used to determine if the FortiGate can communicate with the server.\n"
        },
        "qualityMeasuredMethod": {
          "type": "string",
          "description": "Method to measure the quality of tcp-connect. Valid values: `half-open`, `half-close`.\n"
        },
        "recoverytime": {
          "type": "integer",
          "description": "Number of successful responses received before server is considered recovered (1 - 3600, default = 5).\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Twamp controller security mode. Valid values: `none`, `authentication`.\n"
        },
        "server": {
          "type": "string",
          "description": "IP address or FQDN name of the server.\n"
        },
        "slaFailLogPeriod": {
          "type": "integer",
          "description": "Time interval in seconds that SLA fail log messages will be generated (0 - 3600, default = 0).\n"
        },
        "slaIdRedistribute": {
          "type": "integer",
          "description": "Select the ID from the SLA sub-table. The selected SLA's priority value will be distributed into the routing table (0 - 32, default = 0).\n"
        },
        "slaPassLogPeriod": {
          "type": "integer",
          "description": "Time interval in seconds that SLA pass log messages will be generated (0 - 3600, default = 0).\n"
        },
        "slas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanHealthCheckSla:SdwanHealthCheckSla"
          },
          "description": "Service level agreement (SLA). The structure of `sla` block is documented below.\n"
        },
        "source": {
          "type": "string",
          "description": "Source IP address used in the health-check packet to the server.\n"
        },
        "source6": {
          "type": "string",
          "description": "Source IPv6 addressused in the health-check packet to server.\n"
        },
        "systemDns": {
          "type": "string",
          "description": "Enable/disable system DNS as the probe server. Valid values: `disable`, `enable`.\n"
        },
        "thresholdAlertJitter": {
          "type": "integer",
          "description": "Alert threshold for jitter (ms, default = 0).\n"
        },
        "thresholdAlertLatency": {
          "type": "integer",
          "description": "Alert threshold for latency (ms, default = 0).\n"
        },
        "thresholdAlertPacketloss": {
          "type": "integer",
          "description": "Alert threshold for packet loss (percentage, default = 0).\n"
        },
        "thresholdWarningJitter": {
          "type": "integer",
          "description": "Warning threshold for jitter (ms, default = 0).\n"
        },
        "thresholdWarningLatency": {
          "type": "integer",
          "description": "Warning threshold for latency (ms, default = 0).\n"
        },
        "thresholdWarningPacketloss": {
          "type": "integer",
          "description": "Warning threshold for packet loss (percentage, default = 0).\n"
        },
        "updateCascadeInterface": {
          "type": "string",
          "description": "Enable/disable update cascade interface. Valid values: `enable`, `disable`.\n"
        },
        "updateStaticRoute": {
          "type": "string",
          "description": "Enable/disable updating the static route. Valid values: `enable`, `disable`.\n"
        },
        "user": {
          "type": "string",
          "description": "The user name to access probe server.\n"
        },
        "vrf": {
          "type": "integer",
          "description": "Virtual Routing Forwarding ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrMode",
            "classId",
            "detectMode",
            "diffservcode",
            "dnsMatchIp",
            "dnsRequestDomain",
            "embedMeasuredHealth",
            "failtime",
            "ftpFile",
            "ftpMode",
            "haPriority",
            "httpAgent",
            "httpGet",
            "httpMatch",
            "interval",
            "mosCodec",
            "name",
            "packetSize",
            "port",
            "probeCount",
            "probePackets",
            "probeTimeout",
            "protocol",
            "qualityMeasuredMethod",
            "recoverytime",
            "securityMode",
            "server",
            "slaFailLogPeriod",
            "slaIdRedistribute",
            "slaPassLogPeriod",
            "source",
            "source6",
            "systemDns",
            "thresholdAlertJitter",
            "thresholdAlertLatency",
            "thresholdAlertPacketloss",
            "thresholdWarningJitter",
            "thresholdWarningLatency",
            "thresholdWarningPacketloss",
            "updateCascadeInterface",
            "updateStaticRoute",
            "user",
            "vrf"
          ]
        }
      }
    },
    "fortios:system/SdwanHealthCheckMember:SdwanHealthCheckMember": {
      "properties": {
        "seqNum": {
          "type": "integer",
          "description": "Member sequence number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "seqNum"
          ]
        }
      }
    },
    "fortios:system/SdwanHealthCheckSla:SdwanHealthCheckSla": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "SLA ID.\n"
        },
        "jitterThreshold": {
          "type": "integer",
          "description": "Jitter for SLA to make decision in milliseconds. (0 - 10000000, default = 5).\n"
        },
        "latencyThreshold": {
          "type": "integer",
          "description": "Latency for SLA to make decision in milliseconds. (0 - 10000000, default = 5).\n"
        },
        "linkCostFactor": {
          "type": "string",
          "description": "Criteria on which to base link selection.\n"
        },
        "mosThreshold": {
          "type": "string",
          "description": "Minimum Mean Opinion Score for SLA to be marked as pass. (1.0 - 5.0, default = 3.6).\n"
        },
        "packetlossThreshold": {
          "type": "integer",
          "description": "Packet loss for SLA to make decision in percentage. (0 - 100, default = 0).\n"
        },
        "priorityInSla": {
          "type": "integer",
          "description": "Value to be distributed into routing table when in-sla (0 - 65535, default = 0).\n"
        },
        "priorityOutSla": {
          "type": "integer",
          "description": "Value to be distributed into routing table when out-sla (0 - 65535, default = 0).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "jitterThreshold",
            "latencyThreshold",
            "linkCostFactor",
            "mosThreshold",
            "packetlossThreshold",
            "priorityInSla",
            "priorityOutSla"
          ]
        }
      }
    },
    "fortios:system/SdwanMember:SdwanMember": {
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "cost": {
          "type": "integer",
          "description": "Cost of this interface for services in SLA mode (0 - 4294967295, default = 0).\n"
        },
        "gateway": {
          "type": "string",
          "description": "The default gateway for this interface. Usually the default gateway of the Internet service provider that this interface is connected to.\n"
        },
        "gateway6": {
          "type": "string",
          "description": "IPv6 gateway.\n"
        },
        "ingressSpilloverThreshold": {
          "type": "integer",
          "description": "Ingress spillover threshold for this interface (0 - 16776000 kbit/s). When this traffic volume threshold is reached, new sessions spill over to other interfaces in the SD-WAN.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "preferredSource": {
          "type": "string",
          "description": "Preferred source of route for this member.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of the interface for IPv4 . Used for SD-WAN rules or priority rules. On FortiOS versions 6.4.1: 0 - 65535. On FortiOS versions >= 7.0.4: 1 - 65535, default = 1.\n"
        },
        "priority6": {
          "type": "integer",
          "description": "Priority of the interface for IPv6 (1 - 65535, default = 1024). Used for SD-WAN rules or priority rules.\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Member sequence number.\n"
        },
        "source": {
          "type": "string",
          "description": "Source IP address used in the health-check packet to the server.\n"
        },
        "source6": {
          "type": "string",
          "description": "Source IPv6 address used in the health-check packet to the server.\n"
        },
        "spilloverThreshold": {
          "type": "integer",
          "description": "Egress spillover threshold for this interface (0 - 16776000 kbit/s). When this traffic volume threshold is reached, new sessions spill over to other interfaces in the SD-WAN.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this interface in the SD-WAN. Valid values: `disable`, `enable`.\n"
        },
        "transportGroup": {
          "type": "integer",
          "description": "Measured transport group (0 - 255).\n"
        },
        "volumeRatio": {
          "type": "integer",
          "description": "Measured volume ratio (this value / sum of all values = percentage of link volume, 1 - 255).\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of this interface for weighted load balancing. (1 - 255) More traffic is directed to interfaces with higher weights.\n"
        },
        "zone": {
          "type": "string",
          "description": "Zone name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cost",
            "gateway",
            "gateway6",
            "ingressSpilloverThreshold",
            "interface",
            "preferredSource",
            "priority",
            "priority6",
            "seqNum",
            "source",
            "source6",
            "spilloverThreshold",
            "status",
            "transportGroup",
            "volumeRatio",
            "weight",
            "zone"
          ]
        }
      }
    },
    "fortios:system/SdwanNeighbor:SdwanNeighbor": {
      "properties": {
        "healthCheck": {
          "type": "string",
          "description": "SD-WAN health-check name.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP/IPv6 address of neighbor.\n"
        },
        "member": {
          "type": "integer",
          "description": "Member sequence number. *Due to the data type change of API, for other versions of FortiOS, please check variable `member_block`.*\n"
        },
        "memberBlocks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanNeighborMemberBlock:SdwanNeighborMemberBlock"
          },
          "description": "Member sequence number list. *Due to the data type change of API, for other versions of FortiOS, please check variable `member`.* The structure of `member_block` block is documented below.\n"
        },
        "minimumSlaMeetMembers": {
          "type": "integer",
          "description": "Minimum number of members which meet SLA when the neighbor is preferred.\n"
        },
        "mode": {
          "type": "string",
          "description": "What metric to select the neighbor. Valid values: `sla`, `speedtest`.\n"
        },
        "role": {
          "type": "string",
          "description": "Role of neighbor. Valid values: `standalone`, `primary`, `secondary`.\n"
        },
        "serviceId": {
          "type": "integer",
          "description": "SD-WAN service ID to work with the neighbor.\n"
        },
        "slaId": {
          "type": "integer",
          "description": "SLA ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "healthCheck",
            "ip",
            "member",
            "minimumSlaMeetMembers",
            "mode",
            "role",
            "serviceId",
            "slaId"
          ]
        }
      }
    },
    "fortios:system/SdwanNeighborMemberBlock:SdwanNeighborMemberBlock": {
      "properties": {
        "seqNum": {
          "type": "integer",
          "description": "Member sequence number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "seqNum"
          ]
        }
      }
    },
    "fortios:system/SdwanService:SdwanService": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "agentExclusive": {
          "type": "string",
          "description": "Set/unset the service as agent use exclusively. Valid values: `enable`, `disable`.\n"
        },
        "bandwidthWeight": {
          "type": "integer",
          "description": "Coefficient of reciprocal of available bidirectional bandwidth in the formula of custom-profile-1.\n"
        },
        "default": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN as default service. Valid values: `enable`, `disable`.\n"
        },
        "dscpForward": {
          "type": "string",
          "description": "Enable/disable forward traffic DSCP tag. Valid values: `enable`, `disable`.\n"
        },
        "dscpForwardTag": {
          "type": "string",
          "description": "Forward traffic DSCP tag.\n"
        },
        "dscpReverse": {
          "type": "string",
          "description": "Enable/disable reverse traffic DSCP tag. Valid values: `enable`, `disable`.\n"
        },
        "dscpReverseTag": {
          "type": "string",
          "description": "Reverse traffic DSCP tag.\n"
        },
        "dst6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceDst6:SdwanServiceDst6"
          },
          "description": "Destination address6 name. The structure of `dst6` block is documented below.\n"
        },
        "dstNegate": {
          "type": "string",
          "description": "Enable/disable negation of destination address match. Valid values: `enable`, `disable`.\n"
        },
        "dsts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceDst:SdwanServiceDst"
          },
          "description": "Destination address name. The structure of `dst` block is documented below.\n"
        },
        "endPort": {
          "type": "integer",
          "description": "End destination port number.\n"
        },
        "endSrcPort": {
          "type": "integer",
          "description": "End source port number.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Enable/disable SD-WAN service gateway. Valid values: `enable`, `disable`.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceGroup:SdwanServiceGroup"
          },
          "description": "User groups. The structure of `groups` block is documented below.\n"
        },
        "hashMode": {
          "type": "string",
          "description": "Hash algorithm for selected priority members for load balance mode. Valid values: `round-robin`, `source-ip-based`, `source-dest-ip-based`, `inbandwidth`, `outbandwidth`, `bibandwidth`.\n"
        },
        "healthChecks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceHealthCheck:SdwanServiceHealthCheck"
          },
          "description": "Health check list. The structure of `health_check` block is documented below.\n"
        },
        "holdDownTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the back-up member to the primary member (0 - 10000000, default = 0).\n"
        },
        "id": {
          "type": "integer",
          "description": "SD-WAN rule ID (1 - 4000).\n"
        },
        "inputDeviceNegate": {
          "type": "string",
          "description": "Enable/disable negation of input device match. Valid values: `enable`, `disable`.\n"
        },
        "inputDevices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceInputDevice:SdwanServiceInputDevice"
          },
          "description": "Source interface name. The structure of `input_device` block is documented below.\n"
        },
        "inputZones": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceInputZone:SdwanServiceInputZone"
          },
          "description": "Source input-zone name. The structure of `input_zone` block is documented below.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet service for application-based load balancing. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceAppCtrlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceInternetServiceAppCtrlCategory:SdwanServiceInternetServiceAppCtrlCategory"
          },
          "description": "IDs of one or more application control categories. The structure of `internet_service_app_ctrl_category` block is documented below.\n"
        },
        "internetServiceAppCtrlGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceInternetServiceAppCtrlGroup:SdwanServiceInternetServiceAppCtrlGroup"
          },
          "description": "Application control based Internet Service group list. The structure of `internet_service_app_ctrl_group` block is documented below.\n"
        },
        "internetServiceAppCtrls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceInternetServiceAppCtrl:SdwanServiceInternetServiceAppCtrl"
          },
          "description": "Application control based Internet Service ID list. The structure of `internet_service_app_ctrl` block is documented below.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceInternetServiceCustomGroup:SdwanServiceInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group list. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceInternetServiceCustom:SdwanServiceInternetServiceCustom"
          },
          "description": "Custom Internet service name list. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceInternetServiceGroup:SdwanServiceInternetServiceGroup"
          },
          "description": "Internet Service group list. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceInternetServiceName:SdwanServiceInternetServiceName"
          },
          "description": "Internet service name list. The structure of `internet_service_name` block is documented below.\n"
        },
        "jitterWeight": {
          "type": "integer",
          "description": "Coefficient of jitter in the formula of custom-profile-1.\n"
        },
        "latencyWeight": {
          "type": "integer",
          "description": "Coefficient of latency in the formula of custom-profile-1.\n"
        },
        "linkCostFactor": {
          "type": "string",
          "description": "Link cost factor. Valid values: `latency`, `jitter`, `packet-loss`, `inbandwidth`, `outbandwidth`, `bibandwidth`, `custom-profile-1`.\n"
        },
        "linkCostThreshold": {
          "type": "integer",
          "description": "Percentage threshold change of link cost values that will result in policy route regeneration (0 - 10000000, default = 10).\n"
        },
        "loadBalance": {
          "type": "string",
          "description": "Enable/disable load-balance. Valid values: `enable`, `disable`.\n"
        },
        "minimumSlaMeetMembers": {
          "type": "integer",
          "description": "Minimum number of members which meet SLA.\n"
        },
        "mode": {
          "type": "string",
          "description": "Control how the SD-WAN rule sets the priority of interfaces in the SD-WAN.\n"
        },
        "name": {
          "type": "string",
          "description": "Service and service group name.\n"
        },
        "packetLossWeight": {
          "type": "integer",
          "description": "Coefficient of packet-loss in the formula of custom-profile-1.\n"
        },
        "passiveMeasurement": {
          "type": "string",
          "description": "Enable/disable passive measurement based on the service criteria. Valid values: `enable`, `disable`.\n"
        },
        "priorityMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServicePriorityMember:SdwanServicePriorityMember"
          },
          "description": "Member sequence number list. The structure of `priority_members` block is documented below.\n"
        },
        "priorityZones": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServicePriorityZone:SdwanServicePriorityZone"
          },
          "description": "Priority zone name list. The structure of `priority_zone` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol number.\n"
        },
        "qualityLink": {
          "type": "integer",
          "description": "Quality grade.\n"
        },
        "role": {
          "type": "string",
          "description": "Service role to work with neighbor. Valid values: `standalone`, `primary`, `secondary`.\n"
        },
        "routeTag": {
          "type": "integer",
          "description": "IPv4 route map route-tag.\n"
        },
        "shortcut": {
          "type": "string",
          "description": "Enable/disable shortcut for this service. Valid values: `enable`, `disable`.\n"
        },
        "shortcutPriority": {
          "type": "string",
          "description": "High priority of ADVPN shortcut for this service. Valid values: `enable`, `disable`, `auto`.\n"
        },
        "shortcutStickiness": {
          "type": "string",
          "description": "Enable/disable shortcut-stickiness of ADVPN. Valid values: `enable`, `disable`.\n"
        },
        "slaCompareMethod": {
          "type": "string",
          "description": "Method to compare SLA value for SLA mode. Valid values: `order`, `number`.\n"
        },
        "slaStickiness": {
          "type": "string",
          "description": "Enable/disable SLA stickiness (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "slas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceSla:SdwanServiceSla"
          },
          "description": "Service level agreement (SLA). The structure of `sla` block is documented below.\n"
        },
        "src6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceSrc6:SdwanServiceSrc6"
          },
          "description": "Source address6 name. The structure of `src6` block is documented below.\n"
        },
        "srcNegate": {
          "type": "string",
          "description": "Enable/disable negation of source address match. Valid values: `enable`, `disable`.\n"
        },
        "srcs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceSrc:SdwanServiceSrc"
          },
          "description": "Source address name. The structure of `src` block is documented below.\n"
        },
        "standaloneAction": {
          "type": "string",
          "description": "Enable/disable service when selected neighbor role is standalone while service role is not standalone. Valid values: `enable`, `disable`.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Start destination port number.\n"
        },
        "startSrcPort": {
          "type": "integer",
          "description": "Start source port number.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SD-WAN service. Valid values: `enable`, `disable`.\n"
        },
        "tieBreak": {
          "type": "string",
          "description": "Method of selecting member if more than one meets the SLA.\n"
        },
        "tos": {
          "type": "string",
          "description": "Type of service bit pattern.\n"
        },
        "tosMask": {
          "type": "string",
          "description": "Type of service evaluated bits.\n"
        },
        "useShortcutSla": {
          "type": "string",
          "description": "Enable/disable use of ADVPN shortcut for quality comparison. Valid values: `enable`, `disable`.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FSdwanServiceUser:SdwanServiceUser"
          },
          "description": "User name. The structure of `users` block is documented below.\n"
        },
        "zoneMode": {
          "type": "string",
          "description": "Enable/disable zone mode. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrMode",
            "agentExclusive",
            "bandwidthWeight",
            "default",
            "dscpForward",
            "dscpForwardTag",
            "dscpReverse",
            "dscpReverseTag",
            "dstNegate",
            "endPort",
            "endSrcPort",
            "gateway",
            "hashMode",
            "holdDownTime",
            "id",
            "inputDeviceNegate",
            "internetService",
            "jitterWeight",
            "latencyWeight",
            "linkCostFactor",
            "linkCostThreshold",
            "loadBalance",
            "minimumSlaMeetMembers",
            "mode",
            "name",
            "packetLossWeight",
            "passiveMeasurement",
            "protocol",
            "qualityLink",
            "role",
            "routeTag",
            "shortcut",
            "shortcutPriority",
            "shortcutStickiness",
            "slaCompareMethod",
            "slaStickiness",
            "srcNegate",
            "standaloneAction",
            "startPort",
            "startSrcPort",
            "status",
            "tieBreak",
            "tos",
            "tosMask",
            "useShortcutSla",
            "zoneMode"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceDst6:SdwanServiceDst6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceDst:SdwanServiceDst": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address or address group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceGroup:SdwanServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceHealthCheck:SdwanServiceHealthCheck": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Health check name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceInputDevice:SdwanServiceInputDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceInputZone:SdwanServiceInputZone": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Zone.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceInternetServiceAppCtrl:SdwanServiceInternetServiceAppCtrl": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application control based Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceInternetServiceAppCtrlCategory:SdwanServiceInternetServiceAppCtrlCategory": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application control category ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceInternetServiceAppCtrlGroup:SdwanServiceInternetServiceAppCtrlGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application control based Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceInternetServiceCustom:SdwanServiceInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceInternetServiceCustomGroup:SdwanServiceInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceInternetServiceGroup:SdwanServiceInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceInternetServiceName:SdwanServiceInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServicePriorityMember:SdwanServicePriorityMember": {
      "properties": {
        "seqNum": {
          "type": "integer",
          "description": "Member sequence number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "seqNum"
          ]
        }
      }
    },
    "fortios:system/SdwanServicePriorityZone:SdwanServicePriorityZone": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Priority zone name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceSla:SdwanServiceSla": {
      "properties": {
        "healthCheck": {
          "type": "string",
          "description": "SD-WAN health-check.\n"
        },
        "id": {
          "type": "integer",
          "description": "SLA ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "healthCheck",
            "id"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceSrc6:SdwanServiceSrc6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceSrc:SdwanServiceSrc": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address6 or address6 group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanServiceUser:SdwanServiceUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SdwanZone:SdwanZone": {
      "properties": {
        "advpnHealthCheck": {
          "type": "string",
          "description": "Health check for ADVPN local overlay link quality.\n"
        },
        "advpnSelect": {
          "type": "string",
          "description": "Enable/disable selection of ADVPN based on SDWAN information. Valid values: `enable`, `disable`.\n"
        },
        "minimumSlaMeetMembers": {
          "type": "integer",
          "description": "Minimum number of members which meet SLA when the neighbor is preferred.\n"
        },
        "name": {
          "type": "string",
          "description": "Zone name.\n"
        },
        "serviceSlaTieBreak": {
          "type": "string",
          "description": "Method of selecting member if more than one meets the SLA.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "advpnHealthCheck",
            "advpnSelect",
            "minimumSlaMeetMembers",
            "name",
            "serviceSlaTieBreak"
          ]
        }
      }
    },
    "fortios:system/SessionttlPort:SessionttlPort": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "End port number.\n"
        },
        "id": {
          "type": "integer",
          "description": "Table entry ID.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol (0 - 255).\n"
        },
        "refreshDirection": {
          "type": "string",
          "description": "Refresh direction: Both, outgoing, incoming Valid values: `both`, `outgoing`, `incoming`.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Start port number.\n"
        },
        "timeout": {
          "type": "string",
          "description": "Session timeout (TTL).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endPort",
            "id",
            "protocol",
            "refreshDirection",
            "startPort",
            "timeout"
          ]
        }
      }
    },
    "fortios:system/SettingsGuiDefaultPolicyColumn:SettingsGuiDefaultPolicyColumn": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Select column name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SflowCollector:SflowCollector": {
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "IP addresses of the sFlow collectors that sFlow agents added to interfaces in this VDOM send sFlow datagrams to.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "UDP port number used for sending sFlow datagrams (configure only if required by your sFlow collector or your network configuration) (0 - 65535, default = 6343).\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for sFlow agent.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "collectorIp",
            "collectorPort",
            "id",
            "interface",
            "interfaceSelectMethod",
            "sourceIp"
          ]
        }
      }
    },
    "fortios:system/SpeedtestscheduleSchedule:SpeedtestscheduleSchedule": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of a firewall recurring schedule.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SpeedtestserverHost:SpeedtestserverHost": {
      "properties": {
        "distance": {
          "type": "integer",
          "description": "Speed test host distance.\n"
        },
        "id": {
          "type": "integer",
          "description": "Server host ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "Server host IPv4 address.\n"
        },
        "latitude": {
          "type": "string",
          "description": "Speed test host latitude.\n"
        },
        "longitude": {
          "type": "string",
          "description": "Speed test host longitude.\n"
        },
        "password": {
          "type": "string",
          "description": "Speed test host password.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Server host port number to communicate with client.\n"
        },
        "user": {
          "type": "string",
          "description": "Speed test host user name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "distance",
            "id",
            "ip",
            "latitude",
            "longitude",
            "port",
            "user"
          ]
        }
      }
    },
    "fortios:system/SsoadminVdom:SsoadminVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual domain name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SsoforticloudadminVdom:SsoforticloudadminVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual domain name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SsofortigatecloudadminVdom:SsofortigatecloudadminVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual domain name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/StandaloneclusterClusterPeer:StandaloneclusterClusterPeer": {
      "properties": {
        "downIntfsBeforeSessSyncs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FStandaloneclusterClusterPeerDownIntfsBeforeSessSync:StandaloneclusterClusterPeerDownIntfsBeforeSessSync"
          },
          "description": "List of interfaces to be turned down before session synchronization is complete. The structure of `down_intfs_before_sess_sync` block is documented below.\n"
        },
        "hbInterval": {
          "type": "integer",
          "description": "Heartbeat interval (1 - 20 (100*ms). Increase to reduce false positives.\n"
        },
        "hbLostThreshold": {
          "type": "integer",
          "description": "Lost heartbeat threshold (1 - 60). Increase to reduce false positives.\n"
        },
        "ipsecTunnelSync": {
          "type": "string",
          "description": "Enable/disable IPsec tunnel synchronization. Valid values: `enable`, `disable`.\n"
        },
        "peerip": {
          "type": "string",
          "description": "IP address of the interface on the peer unit that is used for the session synchronization link.\n"
        },
        "peervd": {
          "type": "string",
          "description": "VDOM that contains the session synchronization link interface on the peer unit. Usually both peers would have the same peervd.\n"
        },
        "secondaryAddIpsecRoutes": {
          "type": "string",
          "description": "Enable/disable IKE route announcement on the backup unit. Valid values: `enable`, `disable`.\n"
        },
        "sessionSyncFilter": {
          "$ref": "#/types/fortios:system%2FStandaloneclusterClusterPeerSessionSyncFilter:StandaloneclusterClusterPeerSessionSyncFilter",
          "description": "Add one or more filters if you only want to synchronize some sessions. Use the filter to configure the types of sessions to synchronize. The structure of `session_sync_filter` block is documented below.\n"
        },
        "syncId": {
          "type": "integer",
          "description": "Sync ID.\n"
        },
        "syncvds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FStandaloneclusterClusterPeerSyncvd:StandaloneclusterClusterPeerSyncvd"
          },
          "description": "Sessions from these VDOMs are synchronized using this session synchronization configuration. The structure of `syncvd` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "hbInterval",
            "hbLostThreshold",
            "ipsecTunnelSync",
            "peerip",
            "peervd",
            "secondaryAddIpsecRoutes",
            "sessionSyncFilter",
            "syncId"
          ]
        }
      }
    },
    "fortios:system/StandaloneclusterClusterPeerDownIntfsBeforeSessSync:StandaloneclusterClusterPeerDownIntfsBeforeSessSync": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/StandaloneclusterClusterPeerSessionSyncFilter:StandaloneclusterClusterPeerSessionSyncFilter": {
      "properties": {
        "customServices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FStandaloneclusterClusterPeerSessionSyncFilterCustomService:StandaloneclusterClusterPeerSessionSyncFilterCustomService"
          },
          "description": "Only sessions using these custom services are synchronized. Use source and destination port ranges to define these custom services. The structure of `custom_service` block is documented below.\n"
        },
        "dstaddr": {
          "type": "string",
          "description": "Only sessions to this IPv4 address are synchronized.\n"
        },
        "dstaddr6": {
          "type": "string",
          "description": "Only sessions to this IPv6 address are synchronized.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "Only sessions to this interface are synchronized.\n"
        },
        "srcaddr": {
          "type": "string",
          "description": "Only sessions from this IPv4 address are synchronized.\n"
        },
        "srcaddr6": {
          "type": "string",
          "description": "Only sessions from this IPv6 address are synchronized.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Only sessions from this interface are synchronized.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dstaddr",
            "dstaddr6",
            "dstintf",
            "srcaddr",
            "srcaddr6",
            "srcintf"
          ]
        }
      }
    },
    "fortios:system/StandaloneclusterClusterPeerSessionSyncFilterCustomService:StandaloneclusterClusterPeerSessionSyncFilterCustomService": {
      "properties": {
        "dstPortRange": {
          "type": "string",
          "description": "Custom service destination port range.\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom service ID.\n"
        },
        "srcPortRange": {
          "type": "string",
          "description": "Custom service source port range.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dstPortRange",
            "id",
            "srcPortRange"
          ]
        }
      }
    },
    "fortios:system/StandaloneclusterClusterPeerSyncvd:StandaloneclusterClusterPeerSyncvd": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VDOM name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/SwitchinterfaceMember:SwitchinterfaceMember": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Physical interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:system/SwitchinterfaceSpanSourcePort:SwitchinterfaceSpanSourcePort": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Physical interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:system/VdomdnsServerHostname:VdomdnsServerHostname": {
      "properties": {
        "hostname": {
          "type": "string",
          "description": "DNS server host name list separated by space (maximum 4 domains).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "hostname"
          ]
        }
      }
    },
    "fortios:system/VdomexceptionVdom:VdomexceptionVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VDOM name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VdomnetflowCollector:VdomnetflowCollector": {
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "Collector IP.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "NetFlow collector port number.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication with the NetFlow agent.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "collectorIp",
            "collectorPort",
            "id",
            "interface",
            "interfaceSelectMethod",
            "sourceIp"
          ]
        }
      }
    },
    "fortios:system/VdomsflowCollector:VdomsflowCollector": {
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "IP addresses of the sFlow collectors that sFlow agents added to interfaces in this VDOM send sFlow datagrams to.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "UDP port number used for sending sFlow datagrams (configure only if required by your sFlow collector or your network configuration) (0 - 65535, default = 6343).\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for sFlow agent.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "collectorIp",
            "collectorPort",
            "id",
            "interface",
            "interfaceSelectMethod",
            "sourceIp"
          ]
        }
      }
    },
    "fortios:system/VirtualswitchPort:VirtualswitchPort": {
      "properties": {
        "alias": {
          "type": "string",
          "description": "Alias.\n"
        },
        "name": {
          "type": "string",
          "description": "Physical interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "alias",
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkFailAlertInterface:VirtualwanlinkFailAlertInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Physical interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkHealthCheck:VirtualwanlinkHealthCheck": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "Differentiated services code point (DSCP) in the IP header of the probe packet.\n"
        },
        "dnsRequestDomain": {
          "type": "string",
          "description": "Fully qualified domain name to resolve for the DNS probe.\n"
        },
        "failtime": {
          "type": "integer",
          "description": "Number of failures before server is considered lost (1 - 3600, default = 5).\n"
        },
        "haPriority": {
          "type": "integer",
          "description": "HA election priority (1 - 50).\n"
        },
        "httpAgent": {
          "type": "string",
          "description": "String in the http-agent field in the HTTP header.\n"
        },
        "httpGet": {
          "type": "string",
          "description": "URL used to communicate with the server if the protocol if the protocol is HTTP.\n"
        },
        "httpMatch": {
          "type": "string",
          "description": "Response string expected from the server if the protocol is HTTP.\n"
        },
        "interval": {
          "type": "integer",
          "description": "Status check interval, or the time between attempting to connect to the server. On FortiOS versions 6.2.0: 1 - 3600 sec, default = 5. On FortiOS versions 6.2.4-6.4.0: 500 - 3600*1000 msec, default = 500.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkHealthCheckMember:VirtualwanlinkHealthCheckMember"
          },
          "description": "Member sequence number list. The structure of `members` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Status check or health check name.\n"
        },
        "packetSize": {
          "type": "integer",
          "description": "Packet size of a twamp test session,\n"
        },
        "password": {
          "type": "string",
          "description": "Twamp controller password in authentication mode\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number used to communicate with the server over the selected protocol.\n"
        },
        "probeCount": {
          "type": "integer",
          "description": "Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30).\n"
        },
        "probePackets": {
          "type": "string",
          "description": "Enable/disable transmission of probe packets. Valid values: `disable`, `enable`.\n"
        },
        "probeTimeout": {
          "type": "integer",
          "description": "Time to wait before a probe packet is considered lost (500 - 5000 msec, default = 500).\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol used to determine if the FortiGate can communicate with the server.\n"
        },
        "recoverytime": {
          "type": "integer",
          "description": "Number of successful responses received before server is considered recovered (1 - 3600, default = 5).\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Twamp controller security mode. Valid values: `none`, `authentication`.\n"
        },
        "server": {
          "type": "string",
          "description": "IP address or FQDN name of the server.\n"
        },
        "slaFailLogPeriod": {
          "type": "integer",
          "description": "Time interval in seconds that SLA fail log messages will be generated (0 - 3600, default = 0).\n"
        },
        "slaPassLogPeriod": {
          "type": "integer",
          "description": "Time interval in seconds that SLA pass log messages will be generated (0 - 3600, default = 0).\n"
        },
        "slas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkHealthCheckSla:VirtualwanlinkHealthCheckSla"
          },
          "description": "Service level agreement (SLA). The structure of `sla` block is documented below.\n"
        },
        "systemDns": {
          "type": "string",
          "description": "Enable/disable system DNS as the probe server. Valid values: `disable`, `enable`.\n"
        },
        "thresholdAlertJitter": {
          "type": "integer",
          "description": "Alert threshold for jitter (ms, default = 0).\n"
        },
        "thresholdAlertLatency": {
          "type": "integer",
          "description": "Alert threshold for latency (ms, default = 0).\n"
        },
        "thresholdAlertPacketloss": {
          "type": "integer",
          "description": "Alert threshold for packet loss (percentage, default = 0).\n"
        },
        "thresholdWarningJitter": {
          "type": "integer",
          "description": "Warning threshold for jitter (ms, default = 0).\n"
        },
        "thresholdWarningLatency": {
          "type": "integer",
          "description": "Warning threshold for latency (ms, default = 0).\n"
        },
        "thresholdWarningPacketloss": {
          "type": "integer",
          "description": "Warning threshold for packet loss (percentage, default = 0).\n"
        },
        "updateCascadeInterface": {
          "type": "string",
          "description": "Enable/disable update cascade interface. Valid values: `enable`, `disable`.\n"
        },
        "updateStaticRoute": {
          "type": "string",
          "description": "Enable/disable updating the static route. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrMode",
            "diffservcode",
            "dnsRequestDomain",
            "failtime",
            "haPriority",
            "httpAgent",
            "httpGet",
            "httpMatch",
            "interval",
            "name",
            "packetSize",
            "port",
            "probeCount",
            "probePackets",
            "probeTimeout",
            "protocol",
            "recoverytime",
            "securityMode",
            "server",
            "slaFailLogPeriod",
            "slaPassLogPeriod",
            "systemDns",
            "thresholdAlertJitter",
            "thresholdAlertLatency",
            "thresholdAlertPacketloss",
            "thresholdWarningJitter",
            "thresholdWarningLatency",
            "thresholdWarningPacketloss",
            "updateCascadeInterface",
            "updateStaticRoute"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkHealthCheckMember:VirtualwanlinkHealthCheckMember": {
      "properties": {
        "seqNum": {
          "type": "integer",
          "description": "Member sequence number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "seqNum"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkHealthCheckSla:VirtualwanlinkHealthCheckSla": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "SLA ID.\n"
        },
        "jitterThreshold": {
          "type": "integer",
          "description": "Jitter for SLA to make decision in milliseconds. (0 - 10000000, default = 5).\n"
        },
        "latencyThreshold": {
          "type": "integer",
          "description": "Latency for SLA to make decision in milliseconds. (0 - 10000000, default = 5).\n"
        },
        "linkCostFactor": {
          "type": "string",
          "description": "Criteria on which to base link selection. Valid values: `latency`, `jitter`, `packet-loss`.\n"
        },
        "packetlossThreshold": {
          "type": "integer",
          "description": "Packet loss for SLA to make decision in percentage. (0 - 100, default = 0).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "jitterThreshold",
            "latencyThreshold",
            "linkCostFactor",
            "packetlossThreshold"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkMember:VirtualwanlinkMember": {
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "cost": {
          "type": "integer",
          "description": "Cost of this interface for services in SLA mode (0 - 4294967295, default = 0).\n"
        },
        "gateway": {
          "type": "string",
          "description": "The default gateway for this interface. Usually the default gateway of the Internet service provider that this interface is connected to.\n"
        },
        "gateway6": {
          "type": "string",
          "description": "IPv6 gateway.\n"
        },
        "ingressSpilloverThreshold": {
          "type": "integer",
          "description": "Ingress spillover threshold for this interface (0 - 16776000 kbit/s). When this traffic volume threshold is reached, new sessions spill over to other interfaces in the SD-WAN.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of the interface (0 - 4294967295). Used for SD-WAN rules or priority rules.\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Member sequence number.\n"
        },
        "source": {
          "type": "string",
          "description": "Source IP address used in the health-check packet to the server.\n"
        },
        "source6": {
          "type": "string",
          "description": "Source IPv6 address used in the health-check packet to the server.\n"
        },
        "spilloverThreshold": {
          "type": "integer",
          "description": "Egress spillover threshold for this interface (0 - 16776000 kbit/s). When this traffic volume threshold is reached, new sessions spill over to other interfaces in the SD-WAN.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this interface in the SD-WAN. Valid values: `disable`, `enable`.\n"
        },
        "volumeRatio": {
          "type": "integer",
          "description": "Measured volume ratio (this value / sum of all values = percentage of link volume). On FortiOS versions 6.2.0: 0 - 255. On FortiOS versions 6.2.4-6.4.0: 1 - 255.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of this interface for weighted load balancing. More traffic is directed to interfaces with higher weights. On FortiOS versions 6.2.0: 0 - 255. On FortiOS versions 6.2.4-6.4.0: 1 - 255.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cost",
            "gateway",
            "gateway6",
            "ingressSpilloverThreshold",
            "interface",
            "priority",
            "seqNum",
            "source",
            "source6",
            "spilloverThreshold",
            "status",
            "volumeRatio",
            "weight"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkNeighbor:VirtualwanlinkNeighbor": {
      "properties": {
        "healthCheck": {
          "type": "string",
          "description": "SD-WAN health-check name.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address of neighbor.\n"
        },
        "member": {
          "type": "integer",
          "description": "Member sequence number.\n"
        },
        "role": {
          "type": "string",
          "description": "Role of neighbor. Valid values: `standalone`, `primary`, `secondary`.\n"
        },
        "slaId": {
          "type": "integer",
          "description": "SLA ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "healthCheck",
            "ip",
            "member",
            "role",
            "slaId"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkService:VirtualwanlinkService": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "bandwidthWeight": {
          "type": "integer",
          "description": "Coefficient of reciprocal of available bidirectional bandwidth in the formula of custom-profile-1.\n"
        },
        "default": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN as default service. Valid values: `enable`, `disable`.\n"
        },
        "dscpForward": {
          "type": "string",
          "description": "Enable/disable forward traffic DSCP tag. Valid values: `enable`, `disable`.\n"
        },
        "dscpForwardTag": {
          "type": "string",
          "description": "Forward traffic DSCP tag.\n"
        },
        "dscpReverse": {
          "type": "string",
          "description": "Enable/disable reverse traffic DSCP tag. Valid values: `enable`, `disable`.\n"
        },
        "dscpReverseTag": {
          "type": "string",
          "description": "Reverse traffic DSCP tag.\n"
        },
        "dst6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceDst6:VirtualwanlinkServiceDst6"
          },
          "description": "Destination address6 name. The structure of `dst6` block is documented below.\n"
        },
        "dstNegate": {
          "type": "string",
          "description": "Enable/disable negation of destination address match. Valid values: `enable`, `disable`.\n"
        },
        "dsts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceDst:VirtualwanlinkServiceDst"
          },
          "description": "Destination address name. The structure of `dst` block is documented below.\n"
        },
        "endPort": {
          "type": "integer",
          "description": "End destination port number.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Enable/disable SD-WAN service gateway. Valid values: `enable`, `disable`.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceGroup:VirtualwanlinkServiceGroup"
          },
          "description": "User groups. The structure of `groups` block is documented below.\n"
        },
        "healthCheck": {
          "type": "string",
          "description": "Health check.\n"
        },
        "holdDownTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the back-up member to the primary member (0 - 10000000, default = 0).\n"
        },
        "id": {
          "type": "integer",
          "description": "Priority rule ID (1 - 4000).\n"
        },
        "inputDeviceNegate": {
          "type": "string",
          "description": "Enable/disable negation of input device match. Valid values: `enable`, `disable`.\n"
        },
        "inputDevices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceInputDevice:VirtualwanlinkServiceInputDevice"
          },
          "description": "Source interface name. The structure of `input_device` block is documented below.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet service for application-based load balancing. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceAppCtrlGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceInternetServiceAppCtrlGroup:VirtualwanlinkServiceInternetServiceAppCtrlGroup"
          },
          "description": "Application control based Internet Service group list. The structure of `internet_service_app_ctrl_group` block is documented below.\n"
        },
        "internetServiceAppCtrls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceInternetServiceAppCtrl:VirtualwanlinkServiceInternetServiceAppCtrl"
          },
          "description": "Application control based Internet Service ID list. The structure of `internet_service_app_ctrl` block is documented below.\n"
        },
        "internetServiceCtrlGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceInternetServiceCtrlGroup:VirtualwanlinkServiceInternetServiceCtrlGroup"
          },
          "description": "Control-based Internet Service group list. The structure of `internet_service_ctrl_group` block is documented below.\n"
        },
        "internetServiceCtrls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceInternetServiceCtrl:VirtualwanlinkServiceInternetServiceCtrl"
          },
          "description": "Control-based Internet Service ID list. The structure of `internet_service_ctrl` block is documented below.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceInternetServiceCustomGroup:VirtualwanlinkServiceInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group list. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceInternetServiceCustom:VirtualwanlinkServiceInternetServiceCustom"
          },
          "description": "Custom Internet service name list. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceInternetServiceGroup:VirtualwanlinkServiceInternetServiceGroup"
          },
          "description": "Internet Service group list. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceInternetServiceId:VirtualwanlinkServiceInternetServiceId"
          },
          "description": "Internet service ID list. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceInternetServiceName:VirtualwanlinkServiceInternetServiceName"
          },
          "description": "Internet service name list. The structure of `internet_service_name` block is documented below.\n"
        },
        "jitterWeight": {
          "type": "integer",
          "description": "Coefficient of jitter in the formula of custom-profile-1.\n"
        },
        "latencyWeight": {
          "type": "integer",
          "description": "Coefficient of latency in the formula of custom-profile-1.\n"
        },
        "linkCostFactor": {
          "type": "string",
          "description": "Link cost factor. Valid values: `latency`, `jitter`, `packet-loss`, `inbandwidth`, `outbandwidth`, `bibandwidth`, `custom-profile-1`.\n"
        },
        "linkCostThreshold": {
          "type": "integer",
          "description": "Percentage threshold change of link cost values that will result in policy route regeneration (0 - 10000000, default = 10).\n"
        },
        "member": {
          "type": "integer",
          "description": "Member sequence number.\n"
        },
        "mode": {
          "type": "string",
          "description": "Control how the priority rule sets the priority of interfaces in the SD-WAN. Valid values: `auto`, `manual`, `priority`, `sla`, `load-balance`.\n"
        },
        "name": {
          "type": "string",
          "description": "Priority rule name.\n"
        },
        "packetLossWeight": {
          "type": "integer",
          "description": "Coefficient of packet-loss in the formula of custom-profile-1.\n"
        },
        "priorityMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServicePriorityMember:VirtualwanlinkServicePriorityMember"
          },
          "description": "Member sequence number list. The structure of `priority_members` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol number.\n"
        },
        "qualityLink": {
          "type": "integer",
          "description": "Quality grade.\n"
        },
        "role": {
          "type": "string",
          "description": "Service role to work with neighbor. Valid values: `standalone`, `primary`, `secondary`.\n"
        },
        "routeTag": {
          "type": "integer",
          "description": "IPv4 route map route-tag.\n"
        },
        "slaCompareMethod": {
          "type": "string",
          "description": "Method to compare SLA value for sla and load balance mode.  Valid values: `order`, `number`.\n"
        },
        "slas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceSla:VirtualwanlinkServiceSla"
          },
          "description": "Service level agreement (SLA). The structure of `sla` block is documented below.\n"
        },
        "src6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceSrc6:VirtualwanlinkServiceSrc6"
          },
          "description": "Source address6 name. The structure of `src6` block is documented below.\n"
        },
        "srcNegate": {
          "type": "string",
          "description": "Enable/disable negation of source address match. Valid values: `enable`, `disable`.\n"
        },
        "srcs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceSrc:VirtualwanlinkServiceSrc"
          },
          "description": "Source address name. The structure of `src` block is documented below.\n"
        },
        "standaloneAction": {
          "type": "string",
          "description": "Enable/disable service when selected neighbor role is standalone while service role is not standalone. Valid values: `enable`, `disable`.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Start destination port number.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SD-WAN service. Valid values: `enable`, `disable`.\n"
        },
        "tos": {
          "type": "string",
          "description": "Type of service bit pattern.\n"
        },
        "tosMask": {
          "type": "string",
          "description": "Type of service evaluated bits.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FVirtualwanlinkServiceUser:VirtualwanlinkServiceUser"
          },
          "description": "User name. The structure of `users` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addrMode",
            "bandwidthWeight",
            "default",
            "dscpForward",
            "dscpForwardTag",
            "dscpReverse",
            "dscpReverseTag",
            "dstNegate",
            "endPort",
            "gateway",
            "healthCheck",
            "holdDownTime",
            "id",
            "inputDeviceNegate",
            "internetService",
            "jitterWeight",
            "latencyWeight",
            "linkCostFactor",
            "linkCostThreshold",
            "member",
            "mode",
            "name",
            "packetLossWeight",
            "protocol",
            "qualityLink",
            "role",
            "routeTag",
            "slaCompareMethod",
            "srcNegate",
            "standaloneAction",
            "startPort",
            "status",
            "tos",
            "tosMask"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceDst6:VirtualwanlinkServiceDst6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceDst:VirtualwanlinkServiceDst": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address or address group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceGroup:VirtualwanlinkServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceInputDevice:VirtualwanlinkServiceInputDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceInternetServiceAppCtrl:VirtualwanlinkServiceInternetServiceAppCtrl": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Application control based Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceInternetServiceAppCtrlGroup:VirtualwanlinkServiceInternetServiceAppCtrlGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Application control based Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceInternetServiceCtrl:VirtualwanlinkServiceInternetServiceCtrl": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Control-based Internet Service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceInternetServiceCtrlGroup:VirtualwanlinkServiceInternetServiceCtrlGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceInternetServiceCustom:VirtualwanlinkServiceInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceInternetServiceCustomGroup:VirtualwanlinkServiceInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceInternetServiceGroup:VirtualwanlinkServiceInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceInternetServiceId:VirtualwanlinkServiceInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceInternetServiceName:VirtualwanlinkServiceInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Internet service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServicePriorityMember:VirtualwanlinkServicePriorityMember": {
      "properties": {
        "seqNum": {
          "type": "integer",
          "description": "Member sequence number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "seqNum"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceSla:VirtualwanlinkServiceSla": {
      "properties": {
        "healthCheck": {
          "type": "string",
          "description": "Virtual WAN Link health-check.\n"
        },
        "id": {
          "type": "integer",
          "description": "SLA ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "healthCheck",
            "id"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceSrc6:VirtualwanlinkServiceSrc6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceSrc:VirtualwanlinkServiceSrc": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address6 or address6 group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkServiceUser:VirtualwanlinkServiceUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwanlinkZone:VirtualwanlinkZone": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Zone name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/VirtualwirepairMember:VirtualwirepairMember": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:system/VxlanRemoteIp6:VxlanRemoteIp6": {
      "properties": {
        "ip6": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ip6"
          ]
        }
      }
    },
    "fortios:system/VxlanRemoteIp:VxlanRemoteIp": {
      "properties": {
        "ip": {
          "type": "string",
          "description": "IPv4 address.\n\nThe `remote_ip6` block supports:\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ip"
          ]
        }
      }
    },
    "fortios:system/ZoneInterface:ZoneInterface": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Select interfaces to add to the zone.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "interfaceName"
          ]
        }
      }
    },
    "fortios:system/ZoneTagging:ZoneTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FZoneTaggingTag:ZoneTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:system/ZoneTaggingTag:ZoneTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerExcludeRange:ServerExcludeRange": {
      "properties": {
        "endIp": {
          "type": "string",
          "description": "End of IP range.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "leaseTime": {
          "type": "integer",
          "description": "Lease time in seconds, 0 means default lease time.\n"
        },
        "startIp": {
          "type": "string",
          "description": "Start of IP range.\n"
        },
        "uciMatch": {
          "type": "string",
          "description": "Enable/disable user class identifier (UCI) matching. When enabled only DHCP requests with a matching UCI are served with this range. Valid values: `disable`, `enable`.\n"
        },
        "uciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerExcludeRangeUciString:ServerExcludeRangeUciString"
          },
          "description": "One or more UCI strings in quotes separated by spaces. The structure of `uci_string` block is documented below.\n"
        },
        "vciMatch": {
          "type": "string",
          "description": "Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served with this range. Valid values: `disable`, `enable`.\n"
        },
        "vciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerExcludeRangeVciString:ServerExcludeRangeVciString"
          },
          "description": "One or more VCI strings in quotes separated by spaces. The structure of `vci_string` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp",
            "id",
            "leaseTime",
            "startIp",
            "uciMatch",
            "vciMatch"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerExcludeRangeUciString:ServerExcludeRangeUciString": {
      "properties": {
        "uciString": {
          "type": "string",
          "description": "UCI strings.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "uciString"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerExcludeRangeVciString:ServerExcludeRangeVciString": {
      "properties": {
        "vciString": {
          "type": "string",
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vciString"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerIpRange:ServerIpRange": {
      "properties": {
        "endIp": {
          "type": "string",
          "description": "End of IP range.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "leaseTime": {
          "type": "integer",
          "description": "Lease time in seconds, 0 means default lease time.\n"
        },
        "startIp": {
          "type": "string",
          "description": "Start of IP range.\n"
        },
        "uciMatch": {
          "type": "string",
          "description": "Enable/disable user class identifier (UCI) matching. When enabled only DHCP requests with a matching UCI are served with this range. Valid values: `disable`, `enable`.\n"
        },
        "uciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerIpRangeUciString:ServerIpRangeUciString"
          },
          "description": "One or more UCI strings in quotes separated by spaces. The structure of `uci_string` block is documented below.\n"
        },
        "vciMatch": {
          "type": "string",
          "description": "Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served with this range. Valid values: `disable`, `enable`.\n"
        },
        "vciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerIpRangeVciString:ServerIpRangeVciString"
          },
          "description": "One or more VCI strings in quotes separated by spaces. The structure of `vci_string` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp",
            "id",
            "leaseTime",
            "startIp",
            "uciMatch",
            "vciMatch"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerIpRangeUciString:ServerIpRangeUciString": {
      "properties": {
        "uciString": {
          "type": "string",
          "description": "UCI strings.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "uciString"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerIpRangeVciString:ServerIpRangeVciString": {
      "properties": {
        "vciString": {
          "type": "string",
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vciString"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerOption:ServerOption": {
      "properties": {
        "code": {
          "type": "integer",
          "description": "DHCP option code.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "DHCP option IPs.\n"
        },
        "type": {
          "type": "string",
          "description": "DHCP option type. Valid values: `hex`, `string`, `ip`, `fqdn`.\n"
        },
        "uciMatch": {
          "type": "string",
          "description": "Enable/disable user class identifier (UCI) matching. When enabled only DHCP requests with a matching UCI are served with this option. Valid values: `disable`, `enable`.\n"
        },
        "uciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerOptionUciString:ServerOptionUciString"
          },
          "description": "One or more UCI strings in quotes separated by spaces. The structure of `uci_string` block is documented below.\n"
        },
        "value": {
          "type": "string",
          "description": "DHCP option value.\n"
        },
        "vciMatch": {
          "type": "string",
          "description": "Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served with this option. Valid values: `disable`, `enable`.\n"
        },
        "vciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FServerOptionVciString:ServerOptionVciString"
          },
          "description": "One or more VCI strings in quotes separated by spaces. The structure of `vci_string` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "code",
            "id",
            "ip",
            "type",
            "uciMatch",
            "value",
            "vciMatch"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerOptionUciString:ServerOptionUciString": {
      "properties": {
        "uciString": {
          "type": "string",
          "description": "UCI strings.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "uciString"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerOptionVciString:ServerOptionVciString": {
      "properties": {
        "vciString": {
          "type": "string",
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vciString"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerReservedAddress:ServerReservedAddress": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Options for the DHCP server to configure the client with the reserved MAC address. Valid values: `assign`, `block`, `reserved`.\n"
        },
        "circuitId": {
          "type": "string",
          "description": "Option 82 circuit-ID of the client that will get the reserved IP address.\n"
        },
        "circuitIdType": {
          "type": "string",
          "description": "DHCP option type. Valid values: `hex`, `string`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address to be reserved for the MAC address.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address of the client that will get the reserved IP address.\n"
        },
        "remoteId": {
          "type": "string",
          "description": "Option 82 remote-ID of the client that will get the reserved IP address.\n"
        },
        "remoteIdType": {
          "type": "string",
          "description": "DHCP option type. Valid values: `hex`, `string`.\n"
        },
        "type": {
          "type": "string",
          "description": "DHCP reserved-address type. Valid values: `mac`, `option82`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "circuitId",
            "circuitIdType",
            "id",
            "ip",
            "mac",
            "remoteId",
            "remoteIdType",
            "type"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerTftpServer:ServerTftpServer": {
      "properties": {
        "tftpServer": {
          "type": "string",
          "description": "TFTP server.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "tftpServer"
          ]
        }
      }
    },
    "fortios:system/dhcp/ServerVciString:ServerVciString": {
      "properties": {
        "vciString": {
          "type": "string",
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "vciString"
          ]
        }
      }
    },
    "fortios:system/dhcp/getServerExcludeRange:getServerExcludeRange": {
      "properties": {
        "endIp": {
          "type": "string",
          "description": "End of IP range.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "leaseTime": {
          "type": "integer",
          "description": "Lease time in seconds, 0 means default lease time.\n"
        },
        "startIp": {
          "type": "string",
          "description": "Start of IP range.\n"
        },
        "uciMatch": {
          "type": "string",
          "description": "Enable/disable user class identifier (UCI) matching. When enabled only DHCP requests with a matching UCI are served with this range.\n"
        },
        "uciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerExcludeRangeUciString:getServerExcludeRangeUciString"
          },
          "description": "UCI strings.\n"
        },
        "vciMatch": {
          "type": "string",
          "description": "Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served with this range.\n"
        },
        "vciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerExcludeRangeVciString:getServerExcludeRangeVciString"
          },
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "required": [
        "endIp",
        "id",
        "leaseTime",
        "startIp",
        "uciMatch",
        "uciStrings",
        "vciMatch",
        "vciStrings"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerExcludeRangeUciString:getServerExcludeRangeUciString": {
      "properties": {
        "uciString": {
          "type": "string",
          "description": "UCI strings.\n"
        }
      },
      "type": "object",
      "required": [
        "uciString"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerExcludeRangeVciString:getServerExcludeRangeVciString": {
      "properties": {
        "vciString": {
          "type": "string",
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "required": [
        "vciString"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerIpRange:getServerIpRange": {
      "properties": {
        "endIp": {
          "type": "string",
          "description": "End of IP range.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "leaseTime": {
          "type": "integer",
          "description": "Lease time in seconds, 0 means default lease time.\n"
        },
        "startIp": {
          "type": "string",
          "description": "Start of IP range.\n"
        },
        "uciMatch": {
          "type": "string",
          "description": "Enable/disable user class identifier (UCI) matching. When enabled only DHCP requests with a matching UCI are served with this range.\n"
        },
        "uciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerIpRangeUciString:getServerIpRangeUciString"
          },
          "description": "UCI strings.\n"
        },
        "vciMatch": {
          "type": "string",
          "description": "Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served with this range.\n"
        },
        "vciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerIpRangeVciString:getServerIpRangeVciString"
          },
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "required": [
        "endIp",
        "id",
        "leaseTime",
        "startIp",
        "uciMatch",
        "uciStrings",
        "vciMatch",
        "vciStrings"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerIpRangeUciString:getServerIpRangeUciString": {
      "properties": {
        "uciString": {
          "type": "string",
          "description": "UCI strings.\n"
        }
      },
      "type": "object",
      "required": [
        "uciString"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerIpRangeVciString:getServerIpRangeVciString": {
      "properties": {
        "vciString": {
          "type": "string",
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "required": [
        "vciString"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerOption:getServerOption": {
      "properties": {
        "code": {
          "type": "integer",
          "description": "DHCP option code.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address to be reserved for the MAC address.\n"
        },
        "type": {
          "type": "string",
          "description": "DHCP reserved-address type.\n"
        },
        "uciMatch": {
          "type": "string",
          "description": "Enable/disable user class identifier (UCI) matching. When enabled only DHCP requests with a matching UCI are served with this range.\n"
        },
        "uciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerOptionUciString:getServerOptionUciString"
          },
          "description": "UCI strings.\n"
        },
        "value": {
          "type": "string",
          "description": "DHCP option value.\n"
        },
        "vciMatch": {
          "type": "string",
          "description": "Enable/disable vendor class identifier (VCI) matching. When enabled only DHCP requests with a matching VCI are served with this range.\n"
        },
        "vciStrings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2Fdhcp%2FgetServerOptionVciString:getServerOptionVciString"
          },
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "required": [
        "code",
        "id",
        "ip",
        "type",
        "uciMatch",
        "uciStrings",
        "value",
        "vciMatch",
        "vciStrings"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerOptionUciString:getServerOptionUciString": {
      "properties": {
        "uciString": {
          "type": "string",
          "description": "UCI strings.\n"
        }
      },
      "type": "object",
      "required": [
        "uciString"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerOptionVciString:getServerOptionVciString": {
      "properties": {
        "vciString": {
          "type": "string",
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "required": [
        "vciString"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerReservedAddress:getServerReservedAddress": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Options for the DHCP server to configure the client with the reserved MAC address.\n"
        },
        "circuitId": {
          "type": "string",
          "description": "Option 82 circuit-ID of the client that will get the reserved IP address.\n"
        },
        "circuitIdType": {
          "type": "string",
          "description": "DHCP option type.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address to be reserved for the MAC address.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address of the client that will get the reserved IP address.\n"
        },
        "remoteId": {
          "type": "string",
          "description": "Option 82 remote-ID of the client that will get the reserved IP address.\n"
        },
        "remoteIdType": {
          "type": "string",
          "description": "DHCP option type.\n"
        },
        "type": {
          "type": "string",
          "description": "DHCP reserved-address type.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "circuitId",
        "circuitIdType",
        "description",
        "id",
        "ip",
        "mac",
        "remoteId",
        "remoteIdType",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerTftpServer:getServerTftpServer": {
      "properties": {
        "tftpServer": {
          "type": "string",
          "description": "TFTP server.\n"
        }
      },
      "type": "object",
      "required": [
        "tftpServer"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp/getServerVciString:getServerVciString": {
      "properties": {
        "vciString": {
          "type": "string",
          "description": "VCI strings.\n"
        }
      },
      "type": "object",
      "required": [
        "vciString"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/dhcp6/ServerIpRange:ServerIpRange": {
      "properties": {
        "endIp": {
          "type": "string",
          "description": "End of IP range.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "startIp": {
          "type": "string",
          "description": "Start of IP range.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp",
            "id",
            "startIp"
          ]
        }
      }
    },
    "fortios:system/dhcp6/ServerPrefixRange:ServerPrefixRange": {
      "properties": {
        "endPrefix": {
          "type": "string",
          "description": "End of prefix range.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "prefixLength": {
          "type": "integer",
          "description": "Prefix length.\n"
        },
        "startPrefix": {
          "type": "string",
          "description": "Start of prefix range.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endPrefix",
            "id",
            "prefixLength",
            "startPrefix"
          ]
        }
      }
    },
    "fortios:system/getAccprofileFwgrpPermission:getAccprofileFwgrpPermission": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Address Configuration.\n"
        },
        "others": {
          "type": "string",
          "description": "Other Firewall Configuration.\n"
        },
        "policy": {
          "type": "string",
          "description": "Policy Configuration.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule Configuration.\n"
        },
        "service": {
          "type": "string",
          "description": "Service Configuration.\n"
        }
      },
      "type": "object",
      "required": [
        "address",
        "others",
        "policy",
        "schedule",
        "service"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAccprofileLoggrpPermission:getAccprofileLoggrpPermission": {
      "properties": {
        "config": {
          "type": "string",
          "description": "Log & Report configuration.\n"
        },
        "dataAccess": {
          "type": "string",
          "description": "Log & Report Data Access.\n"
        },
        "reportAccess": {
          "type": "string",
          "description": "Log & Report Report Access.\n"
        },
        "threatWeight": {
          "type": "string",
          "description": "Log & Report Threat Weight.\n"
        }
      },
      "type": "object",
      "required": [
        "config",
        "dataAccess",
        "reportAccess",
        "threatWeight"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAccprofileNetgrpPermission:getAccprofileNetgrpPermission": {
      "properties": {
        "cfg": {
          "type": "string",
          "description": "System Configuration.\n"
        },
        "packetCapture": {
          "type": "string",
          "description": "Packet Capture Configuration.\n"
        },
        "routeCfg": {
          "type": "string",
          "description": "Router Configuration.\n"
        }
      },
      "type": "object",
      "required": [
        "cfg",
        "packetCapture",
        "routeCfg"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAccprofileSysgrpPermission:getAccprofileSysgrpPermission": {
      "properties": {
        "admin": {
          "type": "string",
          "description": "Administrator Users.\n"
        },
        "cfg": {
          "type": "string",
          "description": "System Configuration.\n"
        },
        "mnt": {
          "type": "string",
          "description": "Maintenance.\n"
        },
        "upd": {
          "type": "string",
          "description": "FortiGuard Updates.\n"
        }
      },
      "type": "object",
      "required": [
        "admin",
        "cfg",
        "mnt",
        "upd"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAccprofileUtmgrpPermission:getAccprofileUtmgrpPermission": {
      "properties": {
        "antivirus": {
          "type": "string",
          "description": "Antivirus profiles and settings.\n"
        },
        "applicationControl": {
          "type": "string",
          "description": "Application Control profiles and settings.\n"
        },
        "casb": {
          "type": "string",
          "description": "Inline CASB filter profile and settings\n"
        },
        "dataLeakPrevention": {
          "type": "string",
          "description": "DLP profiles and settings.\n"
        },
        "dataLossPrevention": {
          "type": "string",
          "description": "DLP profiles and settings.\n"
        },
        "dlp": {
          "type": "string",
          "description": "DLP profiles and settings.\n"
        },
        "dnsfilter": {
          "type": "string",
          "description": "DNS Filter profiles and settings.\n"
        },
        "emailfilter": {
          "type": "string",
          "description": "AntiSpam filter and settings.\n"
        },
        "endpointControl": {
          "type": "string",
          "description": "FortiClient Profiles.\n"
        },
        "fileFilter": {
          "type": "string",
          "description": "File-filter profiles and settings.\n"
        },
        "icap": {
          "type": "string",
          "description": "ICAP profiles and settings.\n"
        },
        "ips": {
          "type": "string",
          "description": "IPS profiles and settings.\n"
        },
        "spamfilter": {
          "type": "string",
          "description": "AntiSpam filter and settings.\n"
        },
        "videofilter": {
          "type": "string",
          "description": "Video filter profiles and settings.\n"
        },
        "virtualPatch": {
          "type": "string",
          "description": "Virtual patch profiles and settings.\n"
        },
        "voip": {
          "type": "string",
          "description": "VoIP profiles and settings.\n"
        },
        "waf": {
          "type": "string",
          "description": "Web Application Firewall profiles and settings.\n"
        },
        "webfilter": {
          "type": "string",
          "description": "Web Filter profiles and settings.\n"
        }
      },
      "type": "object",
      "required": [
        "antivirus",
        "applicationControl",
        "casb",
        "dataLeakPrevention",
        "dataLossPrevention",
        "dlp",
        "dnsfilter",
        "emailfilter",
        "endpointControl",
        "fileFilter",
        "icap",
        "ips",
        "spamfilter",
        "videofilter",
        "virtualPatch",
        "voip",
        "waf",
        "webfilter"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAdminGuestUsergroup:getAdminGuestUsergroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system admin.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAdminGuiDashboard:getAdminGuiDashboard": {
      "properties": {
        "columns": {
          "type": "integer",
          "description": "Number of columns.\n"
        },
        "id": {
          "type": "integer",
          "description": "Select menu ID.\n"
        },
        "layoutType": {
          "type": "string",
          "description": "Layout type.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system admin.\n"
        },
        "scope": {
          "type": "string",
          "description": "Dashboard scope.\n"
        },
        "widgets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetAdminGuiDashboardWidget:getAdminGuiDashboardWidget"
          },
          "description": "Dashboard widgets. The structure of `widget` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "columns",
        "id",
        "layoutType",
        "name",
        "scope",
        "widgets"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAdminGuiDashboardWidget:getAdminGuiDashboardWidget": {
      "properties": {
        "fabricDevice": {
          "type": "string",
          "description": "Fabric device to monitor.\n"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetAdminGuiDashboardWidgetFilter:getAdminGuiDashboardWidgetFilter"
          },
          "description": "FortiView filters. The structure of `filters` block is documented below.\n"
        },
        "height": {
          "type": "integer",
          "description": "Height.\n"
        },
        "id": {
          "type": "integer",
          "description": "Select menu ID.\n"
        },
        "industry": {
          "type": "string",
          "description": "Security Audit Rating industry.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface to monitor.\n"
        },
        "region": {
          "type": "string",
          "description": "Security Audit Rating region.\n"
        },
        "reportBy": {
          "type": "string",
          "description": "Field to aggregate the data by.\n"
        },
        "sortBy": {
          "type": "string",
          "description": "Field to sort the data by.\n"
        },
        "timeframe": {
          "type": "string",
          "description": "Timeframe period of reported data.\n"
        },
        "title": {
          "type": "string",
          "description": "Widget title.\n"
        },
        "type": {
          "type": "string",
          "description": "Widget type.\n"
        },
        "visualization": {
          "type": "string",
          "description": "Visualization to use.\n"
        },
        "width": {
          "type": "integer",
          "description": "Width.\n"
        },
        "xPos": {
          "type": "integer",
          "description": "X position.\n"
        },
        "yPos": {
          "type": "integer",
          "description": "Y position.\n"
        }
      },
      "type": "object",
      "required": [
        "fabricDevice",
        "filters",
        "height",
        "id",
        "industry",
        "interface",
        "region",
        "reportBy",
        "sortBy",
        "timeframe",
        "title",
        "type",
        "visualization",
        "width",
        "xPos",
        "yPos"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAdminGuiDashboardWidgetFilter:getAdminGuiDashboardWidgetFilter": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Select menu ID.\n"
        },
        "key": {
          "type": "string",
          "description": "Filter key.\n"
        },
        "value": {
          "type": "string",
          "description": "Filter value.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "key",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAdminGuiGlobalMenuFavorite:getAdminGuiGlobalMenuFavorite": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Select menu ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAdminGuiNewFeatureAcknowledge:getAdminGuiNewFeatureAcknowledge": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Select menu ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAdminGuiVdomMenuFavorite:getAdminGuiVdomMenuFavorite": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Select menu ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAdminLoginTime:getAdminLoginTime": {
      "properties": {
        "lastFailedLogin": {
          "type": "string",
          "description": "Last failed login time.\n"
        },
        "lastLogin": {
          "type": "string",
          "description": "Last successful login time.\n"
        },
        "usrName": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "type": "object",
      "required": [
        "lastFailedLogin",
        "lastLogin",
        "usrName"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAdminVdom:getAdminVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system admin.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getApiuserTrusthost:getApiuserTrusthost": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Table ID.\n"
        },
        "ipv4Trusthost": {
          "type": "string",
          "description": "IPv4 trusted host address.\n"
        },
        "ipv6Trusthost": {
          "type": "string",
          "description": "IPv6 trusted host address.\n"
        },
        "type": {
          "type": "string",
          "description": "Trusthost type.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "ipv4Trusthost",
        "ipv6Trusthost",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getApiuserVdom:getApiuserVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system apiuser.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAutomationactionEmailTo:getAutomationactionEmailTo": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system automationaction.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAutomationactionHeader:getAutomationactionHeader": {
      "properties": {
        "header": {
          "type": "string",
          "description": "Request header.\n"
        }
      },
      "type": "object",
      "required": [
        "header"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAutomationactionHttpHeader:getAutomationactionHttpHeader": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "key": {
          "type": "string",
          "description": "Request header key.\n"
        },
        "value": {
          "type": "string",
          "description": "Request header value.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "key",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAutomationactionSdnConnector:getAutomationactionSdnConnector": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system automationaction.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAutomationdestinationDestination:getAutomationdestinationDestination": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system automationdestination.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAutomationtriggerField:getAutomationtriggerField": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system automationtrigger.\n"
        },
        "value": {
          "type": "string",
          "description": "Value.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAutomationtriggerLogidBlock:getAutomationtriggerLogidBlock": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getAutomationtriggerVdom:getAutomationtriggerVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system automationtrigger.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getCentralmanagementServerList:getCentralmanagementServerList": {
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Indicate whether the FortiGate communicates with the override server using an IPv4 address, an IPv6 address or a FQDN.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "FQDN address of override server.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "serverAddress": {
          "type": "string",
          "description": "IPv4 address of override server.\n"
        },
        "serverAddress6": {
          "type": "string",
          "description": "IPv6 address of override server.\n"
        },
        "serverType": {
          "type": "string",
          "description": "FortiGuard service type.\n"
        }
      },
      "type": "object",
      "required": [
        "addrType",
        "fqdn",
        "id",
        "serverAddress",
        "serverAddress6",
        "serverType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getClustersyncDownIntfsBeforeSessSync:getClustersyncDownIntfsBeforeSessSync": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getClustersyncSessionSyncFilter:getClustersyncSessionSyncFilter": {
      "properties": {
        "customServices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetClustersyncSessionSyncFilterCustomService:getClustersyncSessionSyncFilterCustomService"
          },
          "description": "Only sessions using these custom services are synchronized. Use source and destination port ranges to define these custome services. The structure of `custom_service` block is documented below.\n"
        },
        "dstaddr": {
          "type": "string",
          "description": "Only sessions to this IPv4 address are synchronized. You can only enter one address. To synchronize sessions for multiple destination addresses, add multiple filters.\n"
        },
        "dstaddr6": {
          "type": "string",
          "description": "Only sessions to this IPv6 address are synchronized. You can only enter one address. To synchronize sessions for multiple destination addresses, add multiple filters.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "Only sessions to this interface are synchronized. You can only enter one interface name. To synchronize sessions to multiple destination interfaces, add multiple filters.\n"
        },
        "srcaddr": {
          "type": "string",
          "description": "Only sessions from this IPv4 address are synchronized. You can only enter one address. To synchronize sessions from multiple source addresses, add multiple filters.\n"
        },
        "srcaddr6": {
          "type": "string",
          "description": "Only sessions from this IPv6 address are synchronized. You can only enter one address. To synchronize sessions from multiple source addresses, add multiple filters.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Only sessions from this interface are synchronized. You can only enter one interface name. To synchronize sessions for multiple source interfaces, add multiple filters.\n"
        }
      },
      "type": "object",
      "required": [
        "customServices",
        "dstaddr",
        "dstaddr6",
        "dstintf",
        "srcaddr",
        "srcaddr6",
        "srcintf"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getClustersyncSessionSyncFilterCustomService:getClustersyncSessionSyncFilterCustomService": {
      "properties": {
        "dstPortRange": {
          "type": "string",
          "description": "Custom service destination port range.\n"
        },
        "id": {
          "type": "integer",
          "description": "Custom service ID.\n"
        },
        "srcPortRange": {
          "type": "string",
          "description": "Custom service source port range.\n"
        }
      },
      "type": "object",
      "required": [
        "dstPortRange",
        "id",
        "srcPortRange"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getClustersyncSyncvd:getClustersyncSyncvd": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getCsfFabricConnector:getCsfFabricConnector": {
      "properties": {
        "accprofile": {
          "type": "string",
          "description": "Override access profile.\n"
        },
        "configurationWriteAccess": {
          "type": "string",
          "description": "Enable/disable downstream device write access to configuration.\n"
        },
        "serial": {
          "type": "string",
          "description": "Serial.\n"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetCsfFabricConnectorVdom:getCsfFabricConnectorVdom"
          },
          "description": "Virtual domains that the connector has access to. If none are set, the connector will only have access to the VDOM that it joins the Security Fabric through. The structure of `vdom` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "accprofile",
        "configurationWriteAccess",
        "serial",
        "vdoms"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getCsfFabricConnectorVdom:getCsfFabricConnectorVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Device name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getCsfFabricDevice:getCsfFabricDevice": {
      "properties": {
        "accessToken": {
          "type": "string",
          "description": "Device access token.\n",
          "secret": true
        },
        "deviceIp": {
          "type": "string",
          "description": "Device IP.\n"
        },
        "deviceType": {
          "type": "string",
          "description": "Device type.\n"
        },
        "httpsPort": {
          "type": "integer",
          "description": "HTTPS port for fabric device.\n"
        },
        "login": {
          "type": "string",
          "description": "Device login name.\n"
        },
        "name": {
          "type": "string",
          "description": "Device name.\n"
        },
        "password": {
          "type": "string",
          "description": "Device login password.\n",
          "secret": true
        }
      },
      "type": "object",
      "required": [
        "accessToken",
        "deviceIp",
        "deviceType",
        "httpsPort",
        "login",
        "name",
        "password"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getCsfTrustedList:getCsfTrustedList": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Security fabric authorization action.\n"
        },
        "authorizationType": {
          "type": "string",
          "description": "Authorization type.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate.\n"
        },
        "downstreamAuthorization": {
          "type": "string",
          "description": "Trust authorizations by this node's administrator.\n"
        },
        "haMembers": {
          "type": "string",
          "description": "HA members.\n"
        },
        "index": {
          "type": "integer",
          "description": "Index of the downstream in tree.\n"
        },
        "name": {
          "type": "string",
          "description": "Device name.\n"
        },
        "serial": {
          "type": "string",
          "description": "Serial.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "authorizationType",
        "certificate",
        "downstreamAuthorization",
        "haMembers",
        "index",
        "name",
        "serial"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getDdnsDdnsServerAddr:getDdnsDdnsServerAddr": {
      "properties": {
        "addr": {
          "type": "string",
          "description": "IP address or FQDN of the server.\n"
        }
      },
      "type": "object",
      "required": [
        "addr"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getDdnsMonitorInterface:getDdnsMonitorInterface": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "interfaceName"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getDnsDomain:getDnsDomain": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "DNS search domain list separated by space (maximum 8 domains)\n"
        }
      },
      "type": "object",
      "required": [
        "domain"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getDnsServerHostname:getDnsServerHostname": {
      "properties": {
        "hostname": {
          "type": "string",
          "description": "DNS server host name list separated by space (maximum 4 domains).\n"
        }
      },
      "type": "object",
      "required": [
        "hostname"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getDnsdatabaseDnsEntry:getDnsdatabaseDnsEntry": {
      "properties": {
        "canonicalName": {
          "type": "string",
          "description": "Canonical name of the host.\n"
        },
        "hostname": {
          "type": "string",
          "description": "Name of the host.\n"
        },
        "id": {
          "type": "integer",
          "description": "DNS entry ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the host.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "IPv6 address of the host.\n"
        },
        "preference": {
          "type": "integer",
          "description": "DNS entry preference, 0 is the highest preference (0 - 65535, default = 10)\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable resource record status.\n"
        },
        "ttl": {
          "type": "integer",
          "description": "Time-to-live for this entry (0 to 2147483647 sec, default = 0).\n"
        },
        "type": {
          "type": "string",
          "description": "Resource record type.\n"
        }
      },
      "type": "object",
      "required": [
        "canonicalName",
        "hostname",
        "id",
        "ip",
        "ipv6",
        "preference",
        "status",
        "ttl",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getGlobalInternetServiceDownloadList:getGlobalInternetServiceDownloadList": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getHaHaMgmtInterface:getHaHaMgmtInterface": {
      "properties": {
        "dst": {
          "type": "string",
          "description": "Default route destination for reserved HA management interface.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Default route gateway for reserved HA management interface.\n"
        },
        "gateway6": {
          "type": "string",
          "description": "Default IPv6 gateway for reserved HA management interface.\n"
        },
        "id": {
          "type": "integer",
          "description": "Table ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface to reserve for HA management.\n"
        }
      },
      "type": "object",
      "required": [
        "dst",
        "gateway",
        "gateway6",
        "id",
        "interface"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getHaSecondaryVcluster:getHaSecondaryVcluster": {
      "properties": {
        "monitor": {
          "type": "string",
          "description": "Interfaces to check for port monitoring (or link failure).\n"
        },
        "override": {
          "type": "string",
          "description": "Enable and increase the priority of the unit that should always be primary (master).\n"
        },
        "overrideWaitTime": {
          "type": "integer",
          "description": "Delay negotiating if override is enabled (0 - 3600 sec). Reduces how often the cluster negotiates.\n"
        },
        "pingserverFailoverThreshold": {
          "type": "integer",
          "description": "Remote IP monitoring failover threshold (0 - 50).\n"
        },
        "pingserverMonitorInterface": {
          "type": "string",
          "description": "Interfaces to check for remote IP monitoring.\n"
        },
        "pingserverSecondaryForceReset": {
          "type": "string",
          "description": "Enable to force the cluster to negotiate after a remote IP monitoring failover.\n"
        },
        "pingserverSlaveForceReset": {
          "type": "string",
          "description": "Enable to force the cluster to negotiate after a remote IP monitoring failover.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Increase the priority to select the primary unit (0 - 255).\n"
        },
        "vclusterId": {
          "type": "integer",
          "description": "Cluster ID.\n"
        },
        "vdom": {
          "type": "string",
          "description": "VDOMs in virtual cluster 2.\n"
        }
      },
      "type": "object",
      "required": [
        "monitor",
        "override",
        "overrideWaitTime",
        "pingserverFailoverThreshold",
        "pingserverMonitorInterface",
        "pingserverSecondaryForceReset",
        "pingserverSlaveForceReset",
        "priority",
        "vclusterId",
        "vdom"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getHaUnicastPeer:getHaUnicastPeer": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Table ID.\n"
        },
        "peerIp": {
          "type": "string",
          "description": "Unicast peer IP.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "peerIp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getHaVcluster:getHaVcluster": {
      "properties": {
        "monitor": {
          "type": "string",
          "description": "Interfaces to check for port monitoring (or link failure).\n"
        },
        "override": {
          "type": "string",
          "description": "Enable and increase the priority of the unit that should always be primary (master).\n"
        },
        "overrideWaitTime": {
          "type": "integer",
          "description": "Delay negotiating if override is enabled (0 - 3600 sec). Reduces how often the cluster negotiates.\n"
        },
        "pingserverFailoverThreshold": {
          "type": "integer",
          "description": "Remote IP monitoring failover threshold (0 - 50).\n"
        },
        "pingserverFlipTimeout": {
          "type": "integer",
          "description": "Time to wait in minutes before renegotiating after a remote IP monitoring failover.\n"
        },
        "pingserverMonitorInterface": {
          "type": "string",
          "description": "Interfaces to check for remote IP monitoring.\n"
        },
        "pingserverSecondaryForceReset": {
          "type": "string",
          "description": "Enable to force the cluster to negotiate after a remote IP monitoring failover.\n"
        },
        "pingserverSlaveForceReset": {
          "type": "string",
          "description": "Enable to force the cluster to negotiate after a remote IP monitoring failover.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Increase the priority to select the primary unit (0 - 255).\n"
        },
        "vclusterId": {
          "type": "integer",
          "description": "Cluster ID.\n"
        },
        "vdoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetHaVclusterVdom:getHaVclusterVdom"
          },
          "description": "VDOMs in virtual cluster 2.\n"
        }
      },
      "type": "object",
      "required": [
        "monitor",
        "override",
        "overrideWaitTime",
        "pingserverFailoverThreshold",
        "pingserverFlipTimeout",
        "pingserverMonitorInterface",
        "pingserverSecondaryForceReset",
        "pingserverSlaveForceReset",
        "priority",
        "vclusterId",
        "vdoms"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getHaVclusterVdom:getHaVclusterVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual domain name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceClientOption:getInterfaceClientOption": {
      "properties": {
        "code": {
          "type": "integer",
          "description": "DHCP client option code.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "Secondary IP address of the interface.\n"
        },
        "type": {
          "type": "string",
          "description": "DHCP client option type.\n"
        },
        "value": {
          "type": "string",
          "description": "DHCP client option value.\n"
        }
      },
      "type": "object",
      "required": [
        "code",
        "id",
        "ip",
        "type",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceDhcpSnoopingServerList:getInterfaceDhcpSnoopingServerList": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system interface.\n"
        },
        "serverIp": {
          "type": "string",
          "description": "IP address for DHCP server.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "serverIp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceFailAlertInterface:getInterfaceFailAlertInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system interface.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceIpv6:getInterfaceIpv6": {
      "properties": {
        "autoconf": {
          "type": "string",
          "description": "Enable/disable address auto config.\n"
        },
        "cliConn6Status": {
          "type": "integer",
          "description": "CLI IPv6 connection status.\n"
        },
        "dhcp6ClientOptions": {
          "type": "string",
          "description": "DHCPv6 client options.\n"
        },
        "dhcp6IapdLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetInterfaceIpv6Dhcp6IapdList:getInterfaceIpv6Dhcp6IapdList"
          },
          "description": "DHCPv6 IA-PD list The structure of `dhcp6_iapd_list` block is documented below.\n"
        },
        "dhcp6InformationRequest": {
          "type": "string",
          "description": "Enable/disable DHCPv6 information request.\n"
        },
        "dhcp6PrefixDelegation": {
          "type": "string",
          "description": "Enable/disable DHCPv6 prefix delegation.\n"
        },
        "dhcp6PrefixHint": {
          "type": "string",
          "description": "DHCPv6 prefix that will be used as a hint to the upstream DHCPv6 server.\n"
        },
        "dhcp6PrefixHintPlt": {
          "type": "integer",
          "description": "DHCPv6 prefix hint preferred life time (sec), 0 means unlimited lease time.\n"
        },
        "dhcp6PrefixHintVlt": {
          "type": "integer",
          "description": "DHCPv6 prefix hint valid life time (sec).\n"
        },
        "dhcp6RelayInterfaceId": {
          "type": "string",
          "description": "DHCP6 relay interface ID.\n"
        },
        "dhcp6RelayIp": {
          "type": "string",
          "description": "DHCPv6 relay IP address.\n"
        },
        "dhcp6RelayService": {
          "type": "string",
          "description": "Enable/disable DHCPv6 relay.\n"
        },
        "dhcp6RelaySourceInterface": {
          "type": "string",
          "description": "Enable/disable use of address on this interface as the source address of the relay message.\n"
        },
        "dhcp6RelaySourceIp": {
          "type": "string",
          "description": "IPv6 address used by the DHCP6 relay as its source IP.\n"
        },
        "dhcp6RelayType": {
          "type": "string",
          "description": "DHCPv6 relay type.\n"
        },
        "icmp6SendRedirect": {
          "type": "string",
          "description": "Enable/disable sending of ICMPv6 redirects.\n"
        },
        "interfaceIdentifier": {
          "type": "string",
          "description": "IPv6 interface identifier.\n"
        },
        "ip6Address": {
          "type": "string",
          "description": "Primary IPv6 address prefix, syntax: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx\n"
        },
        "ip6Allowaccess": {
          "type": "string",
          "description": "Allow management access to the interface.\n"
        },
        "ip6DefaultLife": {
          "type": "integer",
          "description": "Default life (sec).\n"
        },
        "ip6DelegatedPrefixIaid": {
          "type": "integer",
          "description": "IAID of obtained delegated-prefix from the upstream interface.\n"
        },
        "ip6DelegatedPrefixLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetInterfaceIpv6Ip6DelegatedPrefixList:getInterfaceIpv6Ip6DelegatedPrefixList"
          },
          "description": "Advertised IPv6 delegated prefix list. The structure of `ip6_delegated_prefix_list` block is documented below.\n"
        },
        "ip6DnsServerOverride": {
          "type": "string",
          "description": "Enable/disable using the DNS server acquired by DHCP.\n"
        },
        "ip6ExtraAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetInterfaceIpv6Ip6ExtraAddr:getInterfaceIpv6Ip6ExtraAddr"
          },
          "description": "Extra IPv6 address prefixes of interface. The structure of `ip6_extra_addr` block is documented below.\n"
        },
        "ip6HopLimit": {
          "type": "integer",
          "description": "Hop limit (0 means unspecified).\n"
        },
        "ip6LinkMtu": {
          "type": "integer",
          "description": "IPv6 link MTU.\n"
        },
        "ip6ManageFlag": {
          "type": "string",
          "description": "Enable/disable the managed flag.\n"
        },
        "ip6MaxInterval": {
          "type": "integer",
          "description": "IPv6 maximum interval (4 to 1800 sec).\n"
        },
        "ip6MinInterval": {
          "type": "integer",
          "description": "IPv6 minimum interval (3 to 1350 sec).\n"
        },
        "ip6Mode": {
          "type": "string",
          "description": "Addressing mode (static, DHCP, delegated).\n"
        },
        "ip6OtherFlag": {
          "type": "string",
          "description": "Enable/disable the other IPv6 flag.\n"
        },
        "ip6PrefixLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetInterfaceIpv6Ip6PrefixList:getInterfaceIpv6Ip6PrefixList"
          },
          "description": "Advertised prefix list. The structure of `ip6_prefix_list` block is documented below.\n"
        },
        "ip6PrefixMode": {
          "type": "string",
          "description": "Assigning a prefix from DHCP or RA.\n"
        },
        "ip6ReachableTime": {
          "type": "integer",
          "description": "IPv6 reachable time (milliseconds; 0 means unspecified).\n"
        },
        "ip6RetransTime": {
          "type": "integer",
          "description": "IPv6 retransmit time (milliseconds; 0 means unspecified).\n"
        },
        "ip6SendAdv": {
          "type": "string",
          "description": "Enable/disable sending advertisements about the interface.\n"
        },
        "ip6Subnet": {
          "type": "string",
          "description": "Subnet to routing prefix, syntax: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx\n"
        },
        "ip6UpstreamInterface": {
          "type": "string",
          "description": "Interface name providing delegated information.\n"
        },
        "ndCert": {
          "type": "string",
          "description": "Neighbor discovery certificate.\n"
        },
        "ndCgaModifier": {
          "type": "string",
          "description": "Neighbor discovery CGA modifier.\n"
        },
        "ndMode": {
          "type": "string",
          "description": "Neighbor discovery mode.\n"
        },
        "ndSecurityLevel": {
          "type": "integer",
          "description": "Neighbor discovery security level (0 - 7; 0 = least secure, default = 0).\n"
        },
        "ndTimestampDelta": {
          "type": "integer",
          "description": "Neighbor discovery timestamp delta value (1 - 3600 sec; default = 300).\n"
        },
        "ndTimestampFuzz": {
          "type": "integer",
          "description": "Neighbor discovery timestamp fuzz factor (1 - 60 sec; default = 1).\n"
        },
        "raSendMtu": {
          "type": "string",
          "description": "Enable/disable sending link MTU in RA packet.\n"
        },
        "uniqueAutoconfAddr": {
          "type": "string",
          "description": "Enable/disable unique auto config address.\n"
        },
        "vrip6LinkLocal": {
          "type": "string",
          "description": "Link-local IPv6 address of virtual router.\n"
        },
        "vrrp6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetInterfaceIpv6Vrrp6:getInterfaceIpv6Vrrp6"
          },
          "description": "IPv6 VRRP configuration. The structure of `vrrp6` block is documented below.\n"
        },
        "vrrpVirtualMac6": {
          "type": "string",
          "description": "Enable/disable virtual MAC for VRRP.\n"
        }
      },
      "type": "object",
      "required": [
        "autoconf",
        "cliConn6Status",
        "dhcp6ClientOptions",
        "dhcp6IapdLists",
        "dhcp6InformationRequest",
        "dhcp6PrefixDelegation",
        "dhcp6PrefixHint",
        "dhcp6PrefixHintPlt",
        "dhcp6PrefixHintVlt",
        "dhcp6RelayInterfaceId",
        "dhcp6RelayIp",
        "dhcp6RelayService",
        "dhcp6RelaySourceInterface",
        "dhcp6RelaySourceIp",
        "dhcp6RelayType",
        "icmp6SendRedirect",
        "interfaceIdentifier",
        "ip6Address",
        "ip6Allowaccess",
        "ip6DefaultLife",
        "ip6DelegatedPrefixIaid",
        "ip6DelegatedPrefixLists",
        "ip6DnsServerOverride",
        "ip6ExtraAddrs",
        "ip6HopLimit",
        "ip6LinkMtu",
        "ip6ManageFlag",
        "ip6MaxInterval",
        "ip6MinInterval",
        "ip6Mode",
        "ip6OtherFlag",
        "ip6PrefixLists",
        "ip6PrefixMode",
        "ip6ReachableTime",
        "ip6RetransTime",
        "ip6SendAdv",
        "ip6Subnet",
        "ip6UpstreamInterface",
        "ndCert",
        "ndCgaModifier",
        "ndMode",
        "ndSecurityLevel",
        "ndTimestampDelta",
        "ndTimestampFuzz",
        "raSendMtu",
        "uniqueAutoconfAddr",
        "vrip6LinkLocal",
        "vrrp6s",
        "vrrpVirtualMac6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceIpv6Dhcp6IapdList:getInterfaceIpv6Dhcp6IapdList": {
      "properties": {
        "iaid": {
          "type": "integer",
          "description": "Identity association identifier.\n"
        },
        "prefixHint": {
          "type": "string",
          "description": "DHCPv6 prefix that will be used as a hint to the upstream DHCPv6 server.\n"
        },
        "prefixHintPlt": {
          "type": "integer",
          "description": "DHCPv6 prefix hint preferred life time (sec), 0 means unlimited lease time.\n"
        },
        "prefixHintVlt": {
          "type": "integer",
          "description": "DHCPv6 prefix hint valid life time (sec).\n"
        }
      },
      "type": "object",
      "required": [
        "iaid",
        "prefixHint",
        "prefixHintPlt",
        "prefixHintVlt"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceIpv6Ip6DelegatedPrefixList:getInterfaceIpv6Ip6DelegatedPrefixList": {
      "properties": {
        "autonomousFlag": {
          "type": "string",
          "description": "Enable/disable the autonomous flag.\n"
        },
        "delegatedPrefixIaid": {
          "type": "integer",
          "description": "IAID of obtained delegated-prefix from the upstream interface.\n"
        },
        "onlinkFlag": {
          "type": "string",
          "description": "Enable/disable the onlink flag.\n"
        },
        "prefixId": {
          "type": "integer",
          "description": "Prefix ID.\n"
        },
        "rdnss": {
          "type": "string",
          "description": "Recursive DNS server option.\n"
        },
        "rdnssService": {
          "type": "string",
          "description": "Recursive DNS service option.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Add subnet ID to routing prefix.\n"
        },
        "upstreamInterface": {
          "type": "string",
          "description": "Name of the interface that provides delegated information.\n"
        }
      },
      "type": "object",
      "required": [
        "autonomousFlag",
        "delegatedPrefixIaid",
        "onlinkFlag",
        "prefixId",
        "rdnss",
        "rdnssService",
        "subnet",
        "upstreamInterface"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceIpv6Ip6ExtraAddr:getInterfaceIpv6Ip6ExtraAddr": {
      "properties": {
        "prefix": {
          "type": "string",
          "description": "IPv6 prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "prefix"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceIpv6Ip6PrefixList:getInterfaceIpv6Ip6PrefixList": {
      "properties": {
        "autonomousFlag": {
          "type": "string",
          "description": "Enable/disable the autonomous flag.\n"
        },
        "dnssls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetInterfaceIpv6Ip6PrefixListDnssl:getInterfaceIpv6Ip6PrefixListDnssl"
          },
          "description": "DNS search list option. The structure of `dnssl` block is documented below.\n"
        },
        "onlinkFlag": {
          "type": "string",
          "description": "Enable/disable the onlink flag.\n"
        },
        "preferredLifeTime": {
          "type": "integer",
          "description": "Preferred life time (sec).\n"
        },
        "prefix": {
          "type": "string",
          "description": "IPv6 prefix.\n"
        },
        "rdnss": {
          "type": "string",
          "description": "Recursive DNS server option.\n"
        },
        "validLifeTime": {
          "type": "integer",
          "description": "Valid life time (sec).\n"
        }
      },
      "type": "object",
      "required": [
        "autonomousFlag",
        "dnssls",
        "onlinkFlag",
        "preferredLifeTime",
        "prefix",
        "rdnss",
        "validLifeTime"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceIpv6Ip6PrefixListDnssl:getInterfaceIpv6Ip6PrefixListDnssl": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Domain name.\n"
        }
      },
      "type": "object",
      "required": [
        "domain"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceIpv6Vrrp6:getInterfaceIpv6Vrrp6": {
      "properties": {
        "acceptMode": {
          "type": "string",
          "description": "Enable/disable accept mode.\n"
        },
        "advInterval": {
          "type": "integer",
          "description": "Advertisement interval (1 - 255 seconds).\n"
        },
        "ignoreDefaultRoute": {
          "type": "string",
          "description": "Enable/disable ignoring of default route when checking destination.\n"
        },
        "preempt": {
          "type": "string",
          "description": "Enable/disable preempt mode.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of the virtual router (1 - 255).\n"
        },
        "startTime": {
          "type": "integer",
          "description": "Startup time (1 - 255 seconds).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable VRRP.\n"
        },
        "vrdst6": {
          "type": "string",
          "description": "Monitor the route to this destination.\n"
        },
        "vrgrp": {
          "type": "integer",
          "description": "VRRP group ID (1 - 65535).\n"
        },
        "vrid": {
          "type": "integer",
          "description": "Virtual router identifier (1 - 255).\n"
        },
        "vrip6": {
          "type": "string",
          "description": "IPv6 address of the virtual router.\n"
        }
      },
      "type": "object",
      "required": [
        "acceptMode",
        "advInterval",
        "ignoreDefaultRoute",
        "preempt",
        "priority",
        "startTime",
        "status",
        "vrdst6",
        "vrgrp",
        "vrid",
        "vrip6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceManagedDevice:getInterfaceManagedDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system interface.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceMember:getInterfaceMember": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Physical interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "interfaceName"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceSecondaryip:getInterfaceSecondaryip": {
      "properties": {
        "allowaccess": {
          "type": "string",
          "description": "Management access settings for the secondary IP address.\n"
        },
        "detectprotocol": {
          "type": "string",
          "description": "Protocols used to detect the server.\n"
        },
        "detectserver": {
          "type": "string",
          "description": "Gateway's ping server for this IP.\n"
        },
        "gwdetect": {
          "type": "string",
          "description": "Enable/disable detect gateway alive for first.\n"
        },
        "haPriority": {
          "type": "integer",
          "description": "HA election priority for the PING server.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "Secondary IP address of the interface.\n"
        },
        "pingServStatus": {
          "type": "integer",
          "description": "PING server status.\n"
        },
        "secipRelayIp": {
          "type": "string",
          "description": "DHCP relay IP address.\n"
        }
      },
      "type": "object",
      "required": [
        "allowaccess",
        "detectprotocol",
        "detectserver",
        "gwdetect",
        "haPriority",
        "id",
        "ip",
        "pingServStatus",
        "secipRelayIp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceSecurityGroup:getInterfaceSecurityGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system interface.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceTagging:getInterfaceTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system interface.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetInterfaceTaggingTag:getInterfaceTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "name",
        "tags"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceTaggingTag:getInterfaceTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system interface.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceVrrp:getInterfaceVrrp": {
      "properties": {
        "acceptMode": {
          "type": "string",
          "description": "Enable/disable accept mode.\n"
        },
        "advInterval": {
          "type": "integer",
          "description": "Advertisement interval (1 - 255 seconds).\n"
        },
        "ignoreDefaultRoute": {
          "type": "string",
          "description": "Enable/disable ignoring of default route when checking destination.\n"
        },
        "preempt": {
          "type": "string",
          "description": "Enable/disable preempt mode.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of the virtual router (1 - 255).\n"
        },
        "proxyArps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetInterfaceVrrpProxyArp:getInterfaceVrrpProxyArp"
          },
          "description": "VRRP Proxy ARP configuration. The structure of `proxy_arp` block is documented below.\n"
        },
        "startTime": {
          "type": "integer",
          "description": "Startup time (1 - 255 seconds).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable VRRP.\n"
        },
        "version": {
          "type": "string",
          "description": "VRRP version.\n"
        },
        "vrdst": {
          "type": "string",
          "description": "Monitor the route to this destination.\n"
        },
        "vrdstPriority": {
          "type": "integer",
          "description": "Priority of the virtual router when the virtual router destination becomes unreachable (0 - 254).\n"
        },
        "vrgrp": {
          "type": "integer",
          "description": "VRRP group ID (1 - 65535).\n"
        },
        "vrid": {
          "type": "integer",
          "description": "Virtual router identifier (1 - 255).\n"
        },
        "vrip": {
          "type": "string",
          "description": "IP address of the virtual router.\n"
        }
      },
      "type": "object",
      "required": [
        "acceptMode",
        "advInterval",
        "ignoreDefaultRoute",
        "preempt",
        "priority",
        "proxyArps",
        "startTime",
        "status",
        "version",
        "vrdst",
        "vrdstPriority",
        "vrgrp",
        "vrid",
        "vrip"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getInterfaceVrrpProxyArp:getInterfaceVrrpProxyArp": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "Secondary IP address of the interface.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "ip"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getLinkmonitorRoute:getLinkmonitorRoute": {
      "properties": {
        "subnet": {
          "type": "string",
          "description": "IP and netmask (x.x.x.x/y).\n"
        }
      },
      "type": "object",
      "required": [
        "subnet"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getLinkmonitorServer:getLinkmonitorServer": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Server address.\n"
        }
      },
      "type": "object",
      "required": [
        "address"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getLinkmonitorServerList:getLinkmonitorServerList": {
      "properties": {
        "dst": {
          "type": "string",
          "description": "IP address of the server to be monitored.\n"
        },
        "id": {
          "type": "integer",
          "description": "Server ID.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port number of the traffic to be used to monitor the server.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocols used to monitor the server.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of the monitor to this dst (0 - 255).\n"
        }
      },
      "type": "object",
      "required": [
        "dst",
        "id",
        "port",
        "protocol",
        "weight"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getMobiletunnelNetwork:getMobiletunnelNetwork": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Network entry ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Select the associated interface name from available options.\n"
        },
        "prefix": {
          "type": "string",
          "description": "Class IP and Netmask with correction (Format:xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx or xxx.xxx.xxx.xxx/x).\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "interface",
        "prefix"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getNat64SecondaryPrefix:getNat64SecondaryPrefix": {
      "properties": {
        "name": {
          "type": "string",
          "description": "NAT64 prefix name.\n"
        },
        "nat64Prefix": {
          "type": "string",
          "description": "NAT64 prefix.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "nat64Prefix"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getNdproxyMember:getNdproxyMember": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "interfaceName"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getNetflowCollector:getNetflowCollector": {
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "Collector IP.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "NetFlow collector port number.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication with the NetFlow agent.\n"
        }
      },
      "type": "object",
      "required": [
        "collectorIp",
        "collectorPort",
        "id",
        "interface",
        "interfaceSelectMethod",
        "sourceIp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getNtpInterface:getNtpInterface": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "required": [
        "interfaceName"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getNtpNtpserver:getNtpNtpserver": {
      "properties": {
        "authentication": {
          "type": "string",
          "description": "Enable/disable MD5/SHA1 authentication.\n"
        },
        "id": {
          "type": "integer",
          "description": "NTP server ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server.\n"
        },
        "ipType": {
          "type": "string",
          "description": "Choose to connect to IPv4 or/and IPv6 NTP server.\n"
        },
        "key": {
          "type": "string",
          "description": "Key for MD5/SHA1 authentication.\n",
          "secret": true
        },
        "keyId": {
          "type": "integer",
          "description": "Key ID for authentication.\n"
        },
        "keyType": {
          "type": "string",
          "description": "Select NTP authentication type.\n"
        },
        "ntpv3": {
          "type": "string",
          "description": "Enable to use NTPv3 instead of NTPv4.\n"
        },
        "server": {
          "type": "string",
          "description": "IP address or hostname of the NTP Server.\n"
        }
      },
      "type": "object",
      "required": [
        "authentication",
        "id",
        "interface",
        "interfaceSelectMethod",
        "ipType",
        "key",
        "keyId",
        "keyType",
        "ntpv3",
        "server"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getObjecttaggingTag:getObjecttaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupAdmin:getReplacemsggroupAdmin": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupAlertmail:getReplacemsggroupAlertmail": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupAuth:getReplacemsggroupAuth": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupAutomation:getReplacemsggroupAutomation": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupCustomMessage:getReplacemsggroupCustomMessage": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupDeviceDetectionPortal:getReplacemsggroupDeviceDetectionPortal": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupEc:getReplacemsggroupEc": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupFortiguardWf:getReplacemsggroupFortiguardWf": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupFtp:getReplacemsggroupFtp": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupHttp:getReplacemsggroupHttp": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupIcap:getReplacemsggroupIcap": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupMail:getReplacemsggroupMail": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupNacQuar:getReplacemsggroupNacQuar": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupNntp:getReplacemsggroupNntp": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupSpam:getReplacemsggroupSpam": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupSslvpn:getReplacemsggroupSslvpn": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupTrafficQuota:getReplacemsggroupTrafficQuota": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupUtm:getReplacemsggroupUtm": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getReplacemsggroupWebproxy:getReplacemsggroupWebproxy": {
      "properties": {
        "buffer": {
          "type": "string",
          "description": "Message string.\n"
        },
        "format": {
          "type": "string",
          "description": "Format flag.\n"
        },
        "header": {
          "type": "string",
          "description": "Header flag.\n"
        },
        "msgType": {
          "type": "string",
          "description": "Message type.\n"
        }
      },
      "type": "object",
      "required": [
        "buffer",
        "format",
        "header",
        "msgType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorCompartmentList:getSdnconnectorCompartmentList": {
      "properties": {
        "compartmentId": {
          "type": "string",
          "description": "OCI compartment ID.\n"
        }
      },
      "type": "object",
      "required": [
        "compartmentId"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorExternalAccountList:getSdnconnectorExternalAccountList": {
      "properties": {
        "externalId": {
          "type": "string",
          "description": "AWS external ID.\n"
        },
        "regionLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetSdnconnectorExternalAccountListRegionList:getSdnconnectorExternalAccountListRegionList"
          },
          "description": "AWS region name list. The structure of `region_list` block is documented below.\n"
        },
        "roleArn": {
          "type": "string",
          "description": "AWS role ARN to assume.\n"
        }
      },
      "type": "object",
      "required": [
        "externalId",
        "regionLists",
        "roleArn"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorExternalAccountListRegionList:getSdnconnectorExternalAccountListRegionList": {
      "properties": {
        "region": {
          "type": "string",
          "description": "OCI region.\n"
        }
      },
      "type": "object",
      "required": [
        "region"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorExternalIp:getSdnconnectorExternalIp": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system sdnconnector.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorForwardingRule:getSdnconnectorForwardingRule": {
      "properties": {
        "ruleName": {
          "type": "string",
          "description": "Forwarding rule name.\n"
        },
        "target": {
          "type": "string",
          "description": "Target instance name.\n"
        }
      },
      "type": "object",
      "required": [
        "ruleName",
        "target"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorGcpProjectList:getSdnconnectorGcpProjectList": {
      "properties": {
        "gcpZoneLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetSdnconnectorGcpProjectListGcpZoneList:getSdnconnectorGcpProjectListGcpZoneList"
          },
          "description": "Configure GCP zone list. The structure of `gcp_zone_list` block is documented below.\n"
        },
        "id": {
          "type": "string",
          "description": "GCP project ID.\n"
        }
      },
      "type": "object",
      "required": [
        "gcpZoneLists",
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorGcpProjectListGcpZoneList:getSdnconnectorGcpProjectListGcpZoneList": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system sdnconnector.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorNic:getSdnconnectorNic": {
      "properties": {
        "ips": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetSdnconnectorNicIp:getSdnconnectorNicIp"
          },
          "description": "Configure IP configuration. The structure of `ip` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system sdnconnector.\n"
        }
      },
      "type": "object",
      "required": [
        "ips",
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorNicIp:getSdnconnectorNicIp": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system sdnconnector.\n"
        },
        "publicIp": {
          "type": "string",
          "description": "Public IP name.\n"
        },
        "resourceGroup": {
          "type": "string",
          "description": "Resource group of Azure route table.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "publicIp",
        "resourceGroup"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorOciRegionList:getSdnconnectorOciRegionList": {
      "properties": {
        "region": {
          "type": "string",
          "description": "OCI region.\n"
        }
      },
      "type": "object",
      "required": [
        "region"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorRoute:getSdnconnectorRoute": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system sdnconnector.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorRouteTable:getSdnconnectorRouteTable": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system sdnconnector.\n"
        },
        "resourceGroup": {
          "type": "string",
          "description": "Resource group of Azure route table.\n"
        },
        "routes": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetSdnconnectorRouteTableRoute:getSdnconnectorRouteTableRoute"
          },
          "description": "Configure Azure route. The structure of `route` block is documented below.\n"
        },
        "subscriptionId": {
          "type": "string",
          "description": "Subscription ID of Azure route table.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "resourceGroup",
        "routes",
        "subscriptionId"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorRouteTableRoute:getSdnconnectorRouteTableRoute": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system sdnconnector.\n"
        },
        "nextHop": {
          "type": "string",
          "description": "Next hop address.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "nextHop"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSdnconnectorServerList:getSdnconnectorServerList": {
      "properties": {
        "ip": {
          "type": "string",
          "description": "Configure IP configuration. The structure of `ip` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "ip"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSessionttlPort:getSessionttlPort": {
      "properties": {
        "endPort": {
          "type": "integer",
          "description": "End port number.\n"
        },
        "id": {
          "type": "integer",
          "description": "Table entry ID.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol (0 - 255).\n"
        },
        "refreshDirection": {
          "type": "string",
          "description": "Refresh direction: Both, outgoing, incoming\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Start port number.\n"
        },
        "timeout": {
          "type": "string",
          "description": "Session timeout (TTL).\n"
        }
      },
      "type": "object",
      "required": [
        "endPort",
        "id",
        "protocol",
        "refreshDirection",
        "startPort",
        "timeout"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getSflowCollector:getSflowCollector": {
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "IP addresses of the sFlow collectors that sFlow agents added to interfaces in this VDOM send sFlow datagrams to.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "UDP port number used for sending sFlow datagrams (configure only if required by your sFlow collector or your network configuration) (0 - 65535, default = 6343).\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for sFlow agent.\n"
        }
      },
      "type": "object",
      "required": [
        "collectorIp",
        "collectorPort",
        "id",
        "interface",
        "interfaceSelectMethod",
        "sourceIp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVdomexceptionVdom:getVdomexceptionVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VDOM name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVdomnetflowCollector:getVdomnetflowCollector": {
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "Collector IP.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "NetFlow collector port number.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communication with the NetFlow agent.\n"
        }
      },
      "type": "object",
      "required": [
        "collectorIp",
        "collectorPort",
        "id",
        "interface",
        "interfaceSelectMethod",
        "sourceIp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVdomsflowCollector:getVdomsflowCollector": {
      "properties": {
        "collectorIp": {
          "type": "string",
          "description": "IP addresses of the sFlow collectors that sFlow agents added to interfaces in this VDOM send sFlow datagrams to.\n"
        },
        "collectorPort": {
          "type": "integer",
          "description": "UDP port number used for sending sFlow datagrams (configure only if required by your sFlow collector or your network configuration) (0 - 65535, default = 6343).\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for sFlow agent.\n"
        }
      },
      "type": "object",
      "required": [
        "collectorIp",
        "collectorPort",
        "id",
        "interface",
        "interfaceSelectMethod",
        "sourceIp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkFailAlertInterface:getVirtualwanlinkFailAlertInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkHealthCheck:getVirtualwanlinkHealthCheck": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6).\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "Differentiated services code point (DSCP) in the IP header of the probe packet.\n"
        },
        "dnsRequestDomain": {
          "type": "string",
          "description": "Fully qualified domain name to resolve for the DNS probe.\n"
        },
        "failtime": {
          "type": "integer",
          "description": "Number of failures before server is considered lost (1 - 3600, default = 5).\n"
        },
        "haPriority": {
          "type": "integer",
          "description": "HA election priority (1 - 50).\n"
        },
        "httpAgent": {
          "type": "string",
          "description": "String in the http-agent field in the HTTP header.\n"
        },
        "httpGet": {
          "type": "string",
          "description": "URL used to communicate with the server if the protocol if the protocol is HTTP.\n"
        },
        "httpMatch": {
          "type": "string",
          "description": "Response string expected from the server if the protocol is HTTP.\n"
        },
        "interval": {
          "type": "integer",
          "description": "Status check interval, or the time between attempting to connect to the server (1 - 3600 sec, default = 5).\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkHealthCheckMember:getVirtualwanlinkHealthCheckMember"
          },
          "description": "Member sequence number list. The structure of `members` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        },
        "packetSize": {
          "type": "integer",
          "description": "Packet size of a twamp test session,\n"
        },
        "password": {
          "type": "string",
          "description": "Twamp controller password in authentication mode\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number used to communicate with the server over the selected protocol.\n"
        },
        "probeCount": {
          "type": "integer",
          "description": "Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30).\n"
        },
        "probePackets": {
          "type": "string",
          "description": "Enable/disable transmission of probe packets.\n"
        },
        "probeTimeout": {
          "type": "integer",
          "description": "Time to wait before a probe packet is considered lost (500 - 5000 msec, default = 500).\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol number.\n"
        },
        "recoverytime": {
          "type": "integer",
          "description": "Number of successful responses received before server is considered recovered (1 - 3600, default = 5).\n"
        },
        "securityMode": {
          "type": "string",
          "description": "Twamp controller security mode.\n"
        },
        "server": {
          "type": "string",
          "description": "IP address or FQDN name of the server.\n"
        },
        "slaFailLogPeriod": {
          "type": "integer",
          "description": "Time interval in seconds that SLA fail log messages will be generated (0 - 3600, default = 0).\n"
        },
        "slaPassLogPeriod": {
          "type": "integer",
          "description": "Time interval in seconds that SLA pass log messages will be generated (0 - 3600, default = 0).\n"
        },
        "slas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkHealthCheckSla:getVirtualwanlinkHealthCheckSla"
          },
          "description": "Service level agreement (SLA). The structure of `sla` block is documented below.\n"
        },
        "systemDns": {
          "type": "string",
          "description": "Enable/disable system DNS as the probe server.\n"
        },
        "thresholdAlertJitter": {
          "type": "integer",
          "description": "Alert threshold for jitter (ms, default = 0).\n"
        },
        "thresholdAlertLatency": {
          "type": "integer",
          "description": "Alert threshold for latency (ms, default = 0).\n"
        },
        "thresholdAlertPacketloss": {
          "type": "integer",
          "description": "Alert threshold for packet loss (percentage, default = 0).\n"
        },
        "thresholdWarningJitter": {
          "type": "integer",
          "description": "Warning threshold for jitter (ms, default = 0).\n"
        },
        "thresholdWarningLatency": {
          "type": "integer",
          "description": "Warning threshold for latency (ms, default = 0).\n"
        },
        "thresholdWarningPacketloss": {
          "type": "integer",
          "description": "Warning threshold for packet loss (percentage, default = 0).\n"
        },
        "updateCascadeInterface": {
          "type": "string",
          "description": "Enable/disable update cascade interface.\n"
        },
        "updateStaticRoute": {
          "type": "string",
          "description": "Enable/disable updating the static route.\n"
        }
      },
      "type": "object",
      "required": [
        "addrMode",
        "diffservcode",
        "dnsRequestDomain",
        "failtime",
        "haPriority",
        "httpAgent",
        "httpGet",
        "httpMatch",
        "interval",
        "members",
        "name",
        "packetSize",
        "password",
        "port",
        "probeCount",
        "probePackets",
        "probeTimeout",
        "protocol",
        "recoverytime",
        "securityMode",
        "server",
        "slaFailLogPeriod",
        "slaPassLogPeriod",
        "slas",
        "systemDns",
        "thresholdAlertJitter",
        "thresholdAlertLatency",
        "thresholdAlertPacketloss",
        "thresholdWarningJitter",
        "thresholdWarningLatency",
        "thresholdWarningPacketloss",
        "updateCascadeInterface",
        "updateStaticRoute"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkHealthCheckMember:getVirtualwanlinkHealthCheckMember": {
      "properties": {
        "seqNum": {
          "type": "integer",
          "description": "Member sequence number.\n"
        }
      },
      "type": "object",
      "required": [
        "seqNum"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkHealthCheckSla:getVirtualwanlinkHealthCheckSla": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "SLA ID.\n"
        },
        "jitterThreshold": {
          "type": "integer",
          "description": "Jitter for SLA to make decision in milliseconds. (0 - 10000000, default = 5).\n"
        },
        "latencyThreshold": {
          "type": "integer",
          "description": "Latency for SLA to make decision in milliseconds. (0 - 10000000, default = 5).\n"
        },
        "linkCostFactor": {
          "type": "string",
          "description": "Link cost factor.\n"
        },
        "packetlossThreshold": {
          "type": "integer",
          "description": "Packet loss for SLA to make decision in percentage. (0 - 100, default = 0).\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "jitterThreshold",
        "latencyThreshold",
        "linkCostFactor",
        "packetlossThreshold"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkMember:getVirtualwanlinkMember": {
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "cost": {
          "type": "integer",
          "description": "Cost of this interface for services in SLA mode (0 - 4294967295, default = 0).\n"
        },
        "gateway": {
          "type": "string",
          "description": "Enable/disable SD-WAN service gateway.\n"
        },
        "gateway6": {
          "type": "string",
          "description": "IPv6 gateway.\n"
        },
        "ingressSpilloverThreshold": {
          "type": "integer",
          "description": "Ingress spillover threshold for this interface (0 - 16776000 kbit/s). When this traffic volume threshold is reached, new sessions spill over to other interfaces in the SD-WAN.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of the interface (0 - 4294967295). Used for SD-WAN rules or priority rules.\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Member sequence number.\n"
        },
        "source": {
          "type": "string",
          "description": "Source IP address used in the health-check packet to the server.\n"
        },
        "source6": {
          "type": "string",
          "description": "Source IPv6 address used in the health-check packet to the server.\n"
        },
        "spilloverThreshold": {
          "type": "integer",
          "description": "Egress spillover threshold for this interface (0 - 16776000 kbit/s). When this traffic volume threshold is reached, new sessions spill over to other interfaces in the SD-WAN.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SD-WAN service.\n"
        },
        "volumeRatio": {
          "type": "integer",
          "description": "Measured volume ratio (this value / sum of all values = percentage of link volume, 0 - 255).\n"
        },
        "weight": {
          "type": "integer",
          "description": "Weight of this interface for weighted load balancing. (0 - 255) More traffic is directed to interfaces with higher weights.\n"
        }
      },
      "type": "object",
      "required": [
        "comment",
        "cost",
        "gateway",
        "gateway6",
        "ingressSpilloverThreshold",
        "interface",
        "priority",
        "seqNum",
        "source",
        "source6",
        "spilloverThreshold",
        "status",
        "volumeRatio",
        "weight"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkNeighbor:getVirtualwanlinkNeighbor": {
      "properties": {
        "healthCheck": {
          "type": "string",
          "description": "Virtual WAN Link health-check.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address of neighbor.\n"
        },
        "member": {
          "type": "integer",
          "description": "Member sequence number.\n"
        },
        "role": {
          "type": "string",
          "description": "Service role to work with neighbor.\n"
        },
        "slaId": {
          "type": "integer",
          "description": "SLA ID.\n"
        }
      },
      "type": "object",
      "required": [
        "healthCheck",
        "ip",
        "member",
        "role",
        "slaId"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkService:getVirtualwanlinkService": {
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6).\n"
        },
        "bandwidthWeight": {
          "type": "integer",
          "description": "Coefficient of reciprocal of available bidirectional bandwidth in the formula of custom-profile-1.\n"
        },
        "default": {
          "type": "string",
          "description": "Enable/disable use of SD-WAN as default service.\n"
        },
        "dscpForward": {
          "type": "string",
          "description": "Enable/disable forward traffic DSCP tag.\n"
        },
        "dscpForwardTag": {
          "type": "string",
          "description": "Forward traffic DSCP tag.\n"
        },
        "dscpReverse": {
          "type": "string",
          "description": "Enable/disable reverse traffic DSCP tag.\n"
        },
        "dscpReverseTag": {
          "type": "string",
          "description": "Reverse traffic DSCP tag.\n"
        },
        "dst6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceDst6:getVirtualwanlinkServiceDst6"
          },
          "description": "Destination address6 name. The structure of `dst6` block is documented below.\n"
        },
        "dstNegate": {
          "type": "string",
          "description": "Enable/disable negation of destination address match.\n"
        },
        "dsts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceDst:getVirtualwanlinkServiceDst"
          },
          "description": "Destination address name. The structure of `dst` block is documented below.\n"
        },
        "endPort": {
          "type": "integer",
          "description": "End destination port number.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Enable/disable SD-WAN service gateway.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceGroup:getVirtualwanlinkServiceGroup"
          },
          "description": "User groups. The structure of `groups` block is documented below.\n"
        },
        "healthCheck": {
          "type": "string",
          "description": "Virtual WAN Link health-check.\n"
        },
        "holdDownTime": {
          "type": "integer",
          "description": "Waiting period in seconds when switching from the back-up member to the primary member (0 - 10000000, default = 0).\n"
        },
        "id": {
          "type": "integer",
          "description": "SLA ID.\n"
        },
        "inputDeviceNegate": {
          "type": "string",
          "description": "Enable/disable negation of input device match.\n"
        },
        "inputDevices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceInputDevice:getVirtualwanlinkServiceInputDevice"
          },
          "description": "Source interface name. The structure of `input_device` block is documented below.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet service for application-based load balancing.\n"
        },
        "internetServiceAppCtrlGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceInternetServiceAppCtrlGroup:getVirtualwanlinkServiceInternetServiceAppCtrlGroup"
          },
          "description": "Application control based Internet Service group list. The structure of `internet_service_app_ctrl_group` block is documented below.\n"
        },
        "internetServiceAppCtrls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceInternetServiceAppCtrl:getVirtualwanlinkServiceInternetServiceAppCtrl"
          },
          "description": "Application control based Internet Service ID list. The structure of `internet_service_app_ctrl` block is documented below.\n"
        },
        "internetServiceCtrlGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceInternetServiceCtrlGroup:getVirtualwanlinkServiceInternetServiceCtrlGroup"
          },
          "description": "Control-based Internet Service group list. The structure of `internet_service_ctrl_group` block is documented below.\n"
        },
        "internetServiceCtrls": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceInternetServiceCtrl:getVirtualwanlinkServiceInternetServiceCtrl"
          },
          "description": "Control-based Internet Service ID list. The structure of `internet_service_ctrl` block is documented below.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceInternetServiceCustomGroup:getVirtualwanlinkServiceInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group list. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceInternetServiceCustom:getVirtualwanlinkServiceInternetServiceCustom"
          },
          "description": "Custom Internet service name list. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceInternetServiceGroup:getVirtualwanlinkServiceInternetServiceGroup"
          },
          "description": "Internet Service group list. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceInternetServiceId:getVirtualwanlinkServiceInternetServiceId"
          },
          "description": "Internet service ID list. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceInternetServiceName:getVirtualwanlinkServiceInternetServiceName"
          },
          "description": "Internet service name list. The structure of `internet_service_name` block is documented below.\n"
        },
        "jitterWeight": {
          "type": "integer",
          "description": "Coefficient of jitter in the formula of custom-profile-1.\n"
        },
        "latencyWeight": {
          "type": "integer",
          "description": "Coefficient of latency in the formula of custom-profile-1.\n"
        },
        "linkCostFactor": {
          "type": "string",
          "description": "Link cost factor.\n"
        },
        "linkCostThreshold": {
          "type": "integer",
          "description": "Percentage threshold change of link cost values that will result in policy route regeneration (0 - 10000000, default = 10).\n"
        },
        "member": {
          "type": "integer",
          "description": "Member sequence number.\n"
        },
        "mode": {
          "type": "string",
          "description": "Control how the priority rule sets the priority of interfaces in the SD-WAN.\n"
        },
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        },
        "packetLossWeight": {
          "type": "integer",
          "description": "Coefficient of packet-loss in the formula of custom-profile-1.\n"
        },
        "priorityMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServicePriorityMember:getVirtualwanlinkServicePriorityMember"
          },
          "description": "Member sequence number list. The structure of `priority_members` block is documented below.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol number.\n"
        },
        "qualityLink": {
          "type": "integer",
          "description": "Quality grade.\n"
        },
        "role": {
          "type": "string",
          "description": "Service role to work with neighbor.\n"
        },
        "routeTag": {
          "type": "integer",
          "description": "IPv4 route map route-tag.\n"
        },
        "slaCompareMethod": {
          "type": "string",
          "description": "Method to compare SLA value for sla and load balance mode.\n"
        },
        "slas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceSla:getVirtualwanlinkServiceSla"
          },
          "description": "Service level agreement (SLA). The structure of `sla` block is documented below.\n"
        },
        "src6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceSrc6:getVirtualwanlinkServiceSrc6"
          },
          "description": "Source address6 name. The structure of `src6` block is documented below.\n"
        },
        "srcNegate": {
          "type": "string",
          "description": "Enable/disable negation of source address match.\n"
        },
        "srcs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceSrc:getVirtualwanlinkServiceSrc"
          },
          "description": "Source address name. The structure of `src` block is documented below.\n"
        },
        "standaloneAction": {
          "type": "string",
          "description": "Enable/disable service when selected neighbor role is standalone while service role is not standalone.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Start destination port number.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SD-WAN service.\n"
        },
        "tos": {
          "type": "string",
          "description": "Type of service bit pattern.\n"
        },
        "tosMask": {
          "type": "string",
          "description": "Type of service evaluated bits.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetVirtualwanlinkServiceUser:getVirtualwanlinkServiceUser"
          },
          "description": "User name. The structure of `users` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "addrMode",
        "bandwidthWeight",
        "default",
        "dscpForward",
        "dscpForwardTag",
        "dscpReverse",
        "dscpReverseTag",
        "dst6s",
        "dstNegate",
        "dsts",
        "endPort",
        "gateway",
        "groups",
        "healthCheck",
        "holdDownTime",
        "id",
        "inputDeviceNegate",
        "inputDevices",
        "internetService",
        "internetServiceAppCtrlGroups",
        "internetServiceAppCtrls",
        "internetServiceCtrlGroups",
        "internetServiceCtrls",
        "internetServiceCustomGroups",
        "internetServiceCustoms",
        "internetServiceGroups",
        "internetServiceIds",
        "internetServiceNames",
        "jitterWeight",
        "latencyWeight",
        "linkCostFactor",
        "linkCostThreshold",
        "member",
        "mode",
        "name",
        "packetLossWeight",
        "priorityMembers",
        "protocol",
        "qualityLink",
        "role",
        "routeTag",
        "slaCompareMethod",
        "slas",
        "src6s",
        "srcNegate",
        "srcs",
        "standaloneAction",
        "startPort",
        "status",
        "tos",
        "tosMask",
        "users"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceDst6:getVirtualwanlinkServiceDst6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceDst:getVirtualwanlinkServiceDst": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceGroup:getVirtualwanlinkServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceInputDevice:getVirtualwanlinkServiceInputDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceInternetServiceAppCtrl:getVirtualwanlinkServiceInternetServiceAppCtrl": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "SLA ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceInternetServiceAppCtrlGroup:getVirtualwanlinkServiceInternetServiceAppCtrlGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceInternetServiceCtrl:getVirtualwanlinkServiceInternetServiceCtrl": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "SLA ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceInternetServiceCtrlGroup:getVirtualwanlinkServiceInternetServiceCtrlGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceInternetServiceCustom:getVirtualwanlinkServiceInternetServiceCustom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceInternetServiceCustomGroup:getVirtualwanlinkServiceInternetServiceCustomGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceInternetServiceGroup:getVirtualwanlinkServiceInternetServiceGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceInternetServiceId:getVirtualwanlinkServiceInternetServiceId": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "SLA ID.\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceInternetServiceName:getVirtualwanlinkServiceInternetServiceName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServicePriorityMember:getVirtualwanlinkServicePriorityMember": {
      "properties": {
        "seqNum": {
          "type": "integer",
          "description": "Member sequence number.\n"
        }
      },
      "type": "object",
      "required": [
        "seqNum"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceSla:getVirtualwanlinkServiceSla": {
      "properties": {
        "healthCheck": {
          "type": "string",
          "description": "Virtual WAN Link health-check.\n"
        },
        "id": {
          "type": "integer",
          "description": "SLA ID.\n"
        }
      },
      "type": "object",
      "required": [
        "healthCheck",
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceSrc6:getVirtualwanlinkServiceSrc6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceSrc:getVirtualwanlinkServiceSrc": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkServiceUser:getVirtualwanlinkServiceUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVirtualwanlinkZone:getVirtualwanlinkZone": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Control-based Internet Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVxlanRemoteIp6:getVxlanRemoteIp6": {
      "properties": {
        "ip6": {
          "type": "string",
          "description": "IPv6 address.\n"
        }
      },
      "type": "object",
      "required": [
        "ip6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getVxlanRemoteIp:getVxlanRemoteIp": {
      "properties": {
        "ip": {
          "type": "string",
          "description": "IPv4 address.\n"
        }
      },
      "type": "object",
      "required": [
        "ip"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getZoneInterface:getZoneInterface": {
      "properties": {
        "interfaceName": {
          "type": "string",
          "description": "Select interfaces to add to the zone.\n"
        }
      },
      "type": "object",
      "required": [
        "interfaceName"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getZoneTagging:getZoneTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system zone.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:system%2FgetZoneTaggingTag:getZoneTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "name",
        "tags"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/getZoneTaggingTag:getZoneTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired system zone.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/lldp/NetworkpolicyGuest:NetworkpolicyGuest": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy. Valid values: `disable`, `enable`.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic. Valid values: `none`, `dot1q`, `dot1p`.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dscp",
            "priority",
            "status",
            "tag",
            "vlan"
          ]
        }
      }
    },
    "fortios:system/lldp/NetworkpolicyGuestVoiceSignaling:NetworkpolicyGuestVoiceSignaling": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy. Valid values: `disable`, `enable`.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic. Valid values: `none`, `dot1q`, `dot1p`.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dscp",
            "priority",
            "status",
            "tag",
            "vlan"
          ]
        }
      }
    },
    "fortios:system/lldp/NetworkpolicySoftphone:NetworkpolicySoftphone": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy. Valid values: `disable`, `enable`.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic. Valid values: `none`, `dot1q`, `dot1p`.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dscp",
            "priority",
            "status",
            "tag",
            "vlan"
          ]
        }
      }
    },
    "fortios:system/lldp/NetworkpolicyStreamingVideo:NetworkpolicyStreamingVideo": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy. Valid values: `disable`, `enable`.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic. Valid values: `none`, `dot1q`, `dot1p`.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dscp",
            "priority",
            "status",
            "tag",
            "vlan"
          ]
        }
      }
    },
    "fortios:system/lldp/NetworkpolicyVideoConferencing:NetworkpolicyVideoConferencing": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy. Valid values: `disable`, `enable`.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic. Valid values: `none`, `dot1q`, `dot1p`.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dscp",
            "priority",
            "status",
            "tag",
            "vlan"
          ]
        }
      }
    },
    "fortios:system/lldp/NetworkpolicyVideoSignaling:NetworkpolicyVideoSignaling": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy. Valid values: `disable`, `enable`.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic. Valid values: `none`, `dot1q`, `dot1p`.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dscp",
            "priority",
            "status",
            "tag",
            "vlan"
          ]
        }
      }
    },
    "fortios:system/lldp/NetworkpolicyVoice:NetworkpolicyVoice": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy. Valid values: `disable`, `enable`.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic. Valid values: `none`, `dot1q`, `dot1p`.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dscp",
            "priority",
            "status",
            "tag",
            "vlan"
          ]
        }
      }
    },
    "fortios:system/lldp/NetworkpolicyVoiceSignaling:NetworkpolicyVoiceSignaling": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy. Valid values: `disable`, `enable`.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic. Valid values: `none`, `dot1q`, `dot1p`.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dscp",
            "priority",
            "status",
            "tag",
            "vlan"
          ]
        }
      }
    },
    "fortios:system/lldp/getNetworkpolicyGuest:getNetworkpolicyGuest": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "required": [
        "dscp",
        "priority",
        "status",
        "tag",
        "vlan"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/lldp/getNetworkpolicyGuestVoiceSignaling:getNetworkpolicyGuestVoiceSignaling": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "required": [
        "dscp",
        "priority",
        "status",
        "tag",
        "vlan"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/lldp/getNetworkpolicySoftphone:getNetworkpolicySoftphone": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "required": [
        "dscp",
        "priority",
        "status",
        "tag",
        "vlan"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/lldp/getNetworkpolicyStreamingVideo:getNetworkpolicyStreamingVideo": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "required": [
        "dscp",
        "priority",
        "status",
        "tag",
        "vlan"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/lldp/getNetworkpolicyVideoConferencing:getNetworkpolicyVideoConferencing": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "required": [
        "dscp",
        "priority",
        "status",
        "tag",
        "vlan"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/lldp/getNetworkpolicyVideoSignaling:getNetworkpolicyVideoSignaling": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "required": [
        "dscp",
        "priority",
        "status",
        "tag",
        "vlan"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/lldp/getNetworkpolicyVoice:getNetworkpolicyVoice": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "required": [
        "dscp",
        "priority",
        "status",
        "tag",
        "vlan"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/lldp/getNetworkpolicyVoiceSignaling:getNetworkpolicyVoiceSignaling": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "Differentiated Services Code Point (DSCP) value to advertise.\n"
        },
        "priority": {
          "type": "integer",
          "description": "802.1P CoS/PCP to advertise (0 - 7; from lowest to highest priority).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable advertising this policy.\n"
        },
        "tag": {
          "type": "string",
          "description": "Advertise tagged or untagged traffic.\n"
        },
        "vlan": {
          "type": "integer",
          "description": "802.1Q VLAN ID to advertise (1 - 4094).\n"
        }
      },
      "type": "object",
      "required": [
        "dscp",
        "priority",
        "status",
        "tag",
        "vlan"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/snmp/CommunityHost:CommunityHost": {
      "properties": {
        "haDirect": {
          "type": "string",
          "description": "Enable/disable direct management of HA cluster members. Valid values: `enable`, `disable`.\n"
        },
        "hostType": {
          "type": "string",
          "description": "Control whether the SNMP manager sends SNMP queries, receives SNMP traps, or both. Valid values: `any`, `query`, `trap`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Host6 entry ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the SNMP manager (host).\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 address for SNMP traps.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "haDirect",
            "hostType",
            "id",
            "ip",
            "sourceIp"
          ]
        }
      }
    },
    "fortios:system/snmp/CommunityHosts6:CommunityHosts6": {
      "properties": {
        "haDirect": {
          "type": "string"
        },
        "hostType": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource with format {{fosid}}.\n"
        },
        "ipv6": {
          "type": "string"
        },
        "sourceIpv6": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "haDirect",
            "hostType",
            "id",
            "ipv6",
            "sourceIpv6"
          ]
        }
      }
    },
    "fortios:system/snmp/CommunityVdom:CommunityVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VDOM name\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/snmp/UserVdom:UserVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VDOM name\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:system/snmp/getCommunityHost:getCommunityHost": {
      "properties": {
        "haDirect": {
          "type": "string",
          "description": "Enable/disable direct management of HA cluster members.\n"
        },
        "hostType": {
          "type": "string",
          "description": "Control whether the SNMP manager sends SNMP queries, receives SNMP traps, or both.\n"
        },
        "id": {
          "type": "integer",
          "description": "Host6 entry ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the SNMP manager (host).\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 address for SNMP traps.\n"
        }
      },
      "type": "object",
      "required": [
        "haDirect",
        "hostType",
        "id",
        "ip",
        "sourceIp"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/snmp/getCommunityHosts6:getCommunityHosts6": {
      "properties": {
        "haDirect": {
          "type": "string",
          "description": "Enable/disable direct management of HA cluster members.\n"
        },
        "hostType": {
          "type": "string",
          "description": "Control whether the SNMP manager sends SNMP queries, receives SNMP traps, or both.\n"
        },
        "id": {
          "type": "integer",
          "description": "Host6 entry ID.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "SNMP manager IPv6 address prefix.\n"
        },
        "sourceIpv6": {
          "type": "string",
          "description": "Source IPv6 address for SNMP traps.\n"
        }
      },
      "type": "object",
      "required": [
        "haDirect",
        "hostType",
        "id",
        "ipv6",
        "sourceIpv6"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/snmp/getCommunityVdom:getCommunityVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VDOM name\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:system/snmp/getUserVdom:getUserVdom": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specify the name of the desired systemsnmp user.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:user/DeviceTagging:DeviceTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FDeviceTaggingTag:DeviceTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:user/DeviceTaggingTag:DeviceTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/DeviceaccesslistDeviceList:DeviceaccesslistDeviceList": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Allow or block device. Valid values: `accept`, `deny`.\n"
        },
        "device": {
          "type": "string",
          "description": "Firewall device or device group.\n"
        },
        "id": {
          "type": "integer",
          "description": "Entry ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "device",
            "id"
          ]
        }
      }
    },
    "fortios:user/DevicegroupMember:DevicegroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Device name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/DevicegroupTagging:DevicegroupTagging": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Tag category.\n"
        },
        "name": {
          "type": "string",
          "description": "Tagging entry name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FDevicegroupTaggingTag:DevicegroupTaggingTag"
          },
          "description": "Tags. The structure of `tags` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "category",
            "name"
          ]
        }
      }
    },
    "fortios:user/DevicegroupTaggingTag:DevicegroupTaggingTag": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Tag name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/DomaincontrollerExtraServer:DomaincontrollerExtraServer": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Server ID.\n"
        },
        "ipAddress": {
          "type": "string",
          "description": "Domain controller IP address.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port to be used for communication with the domain controller (default = 445).\n"
        },
        "sourceIpAddress": {
          "type": "string",
          "description": "FortiGate IPv4 address to be used for communication with the domain controller.\n"
        },
        "sourcePort": {
          "type": "integer",
          "description": "Source port to be used for communication with the domain controller.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ipAddress",
            "port",
            "sourceIpAddress",
            "sourcePort"
          ]
        }
      }
    },
    "fortios:user/ExchangeKdcIp:ExchangeKdcIp": {
      "properties": {
        "ipv4": {
          "type": "string",
          "description": "KDC IPv4 addresses for Kerberos authentication.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ipv4"
          ]
        }
      }
    },
    "fortios:user/FssopollingAdgrp:FssopollingAdgrp": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/GroupGuest:GroupGuest": {
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "company": {
          "type": "string",
          "description": "Set the action for the company guest user field.\n"
        },
        "email": {
          "type": "string",
          "description": "Email.\n"
        },
        "expiration": {
          "type": "string",
          "description": "Expire time.\n"
        },
        "id": {
          "type": "integer",
          "description": "Guest ID.\n"
        },
        "mobilePhone": {
          "type": "string",
          "description": "Mobile phone.\n"
        },
        "name": {
          "type": "string",
          "description": "Guest name.\n"
        },
        "password": {
          "type": "string",
          "description": "Guest password.\n",
          "secret": true
        },
        "sponsor": {
          "type": "string",
          "description": "Set the action for the sponsor guest user field.\n"
        },
        "userId": {
          "type": "string",
          "description": "Guest ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "company",
            "email",
            "expiration",
            "id",
            "mobilePhone",
            "name",
            "sponsor",
            "userId"
          ]
        }
      }
    },
    "fortios:user/GroupMatch:GroupMatch": {
      "properties": {
        "groupName": {
          "type": "string",
          "description": "Name of matching group on remote auththentication server.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "serverName": {
          "type": "string",
          "description": "Name of remote auth server.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "groupName",
            "id",
            "serverName"
          ]
        }
      }
    },
    "fortios:user/GroupMember:GroupMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group member name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/NacpolicySeverity:NacpolicySeverity": {
      "properties": {
        "severityNum": {
          "type": "integer",
          "description": "Enter multiple severity levels, where 0 = Info, 1 = Low, ..., 4 = Critical\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "severityNum"
          ]
        }
      }
    },
    "fortios:user/NacpolicySwitchGroup:NacpolicySwitchGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Managed FortiSwitch group name from available options.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/NacpolicySwitchScope:NacpolicySwitchScope": {
      "properties": {
        "switchId": {
          "type": "string",
          "description": "Managed FortiSwitch name from available options.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "switchId"
          ]
        }
      }
    },
    "fortios:user/PeergrpMember:PeergrpMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Peer group member name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/QuarantineTarget:QuarantineTarget": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description for the quarantine entry.\n"
        },
        "entry": {
          "type": "string",
          "description": "Quarantine entry name.\n"
        },
        "macs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FQuarantineTargetMac:QuarantineTargetMac"
          },
          "description": "Quarantine MACs. The structure of `macs` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "entry"
          ]
        }
      }
    },
    "fortios:user/QuarantineTargetMac:QuarantineTargetMac": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description for the quarantine MAC.\n"
        },
        "drop": {
          "type": "string",
          "description": "Enable/Disable dropping of quarantined device traffic Valid values: `disable`, `enable`.\n"
        },
        "entryId": {
          "type": "integer",
          "description": "FSW entry id for the quarantine MAC.\n"
        },
        "mac": {
          "type": "string",
          "description": "Quarantine MAC.\n"
        },
        "parent": {
          "type": "string",
          "description": "Parent entry name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "drop",
            "entryId",
            "mac",
            "parent"
          ]
        }
      }
    },
    "fortios:user/RadiusAccountingServer:RadiusAccountingServer": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID (0 - 4294967295).\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "port": {
          "type": "integer",
          "description": "RADIUS accounting port number.\n"
        },
        "secret": {
          "type": "string",
          "description": "Secret key.\n",
          "secret": true
        },
        "server": {
          "type": "string",
          "description": "{<name_str|ip_str>} Server CN domain name or IP.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to the RADIUS server.\n"
        },
        "status": {
          "type": "string",
          "description": "Status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "interface",
            "interfaceSelectMethod",
            "port",
            "server",
            "sourceIp",
            "status"
          ]
        }
      }
    },
    "fortios:user/RadiusClass:RadiusClass": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Class name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/SecurityexemptlistRule:SecurityexemptlistRule": {
      "properties": {
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FSecurityexemptlistRuleDevice:SecurityexemptlistRuleDevice"
          },
          "description": "Devices or device groups. The structure of `devices` block is documented below.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FSecurityexemptlistRuleDstaddr:SecurityexemptlistRuleDstaddr"
          },
          "description": "Destination addresses or address groups. The structure of `dstaddr` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FSecurityexemptlistRuleService:SecurityexemptlistRuleService"
          },
          "description": "Destination services. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:user%2FSecurityexemptlistRuleSrcaddr:SecurityexemptlistRuleSrcaddr"
          },
          "description": "Source addresses or address groups. The structure of `srcaddr` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:user/SecurityexemptlistRuleDevice:SecurityexemptlistRuleDevice": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Device or group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/SecurityexemptlistRuleDstaddr:SecurityexemptlistRuleDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address or group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/SecurityexemptlistRuleService:SecurityexemptlistRuleService": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Service name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/SecurityexemptlistRuleSrcaddr:SecurityexemptlistRuleSrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address or group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:user/SettingAuthPort:SettingAuthPort": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "port": {
          "type": "integer",
          "description": "Non-standard port for firewall user authentication.\n"
        },
        "type": {
          "type": "string",
          "description": "Service type. Valid values: `http`, `https`, `ftp`, `telnet`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "port",
            "type"
          ]
        }
      }
    },
    "fortios:virtualpatch/ProfileExemption:ProfileExemption": {
      "properties": {
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:virtualpatch%2FProfileExemptionDevice:ProfileExemptionDevice"
          },
          "description": "Device MAC addresses. The structure of `device` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "IDs.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:virtualpatch%2FProfileExemptionRule:ProfileExemptionRule"
          },
          "description": "Patch signature rule IDs. The structure of `rule` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable exemption. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "status"
          ]
        }
      }
    },
    "fortios:virtualpatch/ProfileExemptionDevice:ProfileExemptionDevice": {
      "properties": {
        "mac": {
          "type": "string",
          "description": "Device MAC address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "mac"
          ]
        }
      }
    },
    "fortios:virtualpatch/ProfileExemptionRule:ProfileExemptionRule": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Rule IDs.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:voip/ProfileMsrp:ProfileMsrp": {
      "properties": {
        "logViolations": {
          "type": "string",
          "description": "Enable/disable logging of MSRP violations. Valid values: `disable`, `enable`.\n"
        },
        "maxMsgSize": {
          "type": "integer",
          "description": "Maximum allowable MSRP message size (1-65535).\n"
        },
        "maxMsgSizeAction": {
          "type": "string",
          "description": "Action for violation of max-msg-size. Valid values: `pass`, `block`, `reset`, `monitor`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable MSRP. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "logViolations",
            "maxMsgSize",
            "maxMsgSizeAction",
            "status"
          ]
        }
      }
    },
    "fortios:voip/ProfileSccp:ProfileSccp": {
      "properties": {
        "blockMcast": {
          "type": "string",
          "description": "Enable/disable block multicast RTP connections. Valid values: `disable`, `enable`.\n"
        },
        "logCallSummary": {
          "type": "string",
          "description": "Enable/disable log summary of SCCP calls. Valid values: `disable`, `enable`.\n"
        },
        "logViolations": {
          "type": "string",
          "description": "Enable/disable logging of SCCP violations. Valid values: `disable`, `enable`.\n"
        },
        "maxCalls": {
          "type": "integer",
          "description": "Maximum calls per minute per SCCP client (max 65535).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SCCP. Valid values: `disable`, `enable`.\n"
        },
        "verifyHeader": {
          "type": "string",
          "description": "Enable/disable verify SCCP header content. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "blockMcast",
            "logCallSummary",
            "logViolations",
            "maxCalls",
            "status",
            "verifyHeader"
          ]
        }
      }
    },
    "fortios:voip/ProfileSip:ProfileSip": {
      "properties": {
        "ackRate": {
          "type": "integer",
          "description": "ACK request rate limit (per second, per policy).\n"
        },
        "ackRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "blockAck": {
          "type": "string",
          "description": "Enable/disable block ACK requests. Valid values: `disable`, `enable`.\n"
        },
        "blockBye": {
          "type": "string",
          "description": "Enable/disable block BYE requests. Valid values: `disable`, `enable`.\n"
        },
        "blockCancel": {
          "type": "string",
          "description": "Enable/disable block CANCEL requests. Valid values: `disable`, `enable`.\n"
        },
        "blockGeoRedOptions": {
          "type": "string",
          "description": "Enable/disable block OPTIONS requests, but OPTIONS requests still notify for redundancy. Valid values: `disable`, `enable`.\n"
        },
        "blockInfo": {
          "type": "string",
          "description": "Enable/disable block INFO requests. Valid values: `disable`, `enable`.\n"
        },
        "blockInvite": {
          "type": "string",
          "description": "Enable/disable block INVITE requests. Valid values: `disable`, `enable`.\n"
        },
        "blockLongLines": {
          "type": "string",
          "description": "Enable/disable block requests with headers exceeding max-line-length. Valid values: `disable`, `enable`.\n"
        },
        "blockMessage": {
          "type": "string",
          "description": "Enable/disable block MESSAGE requests. Valid values: `disable`, `enable`.\n"
        },
        "blockNotify": {
          "type": "string",
          "description": "Enable/disable block NOTIFY requests. Valid values: `disable`, `enable`.\n"
        },
        "blockOptions": {
          "type": "string",
          "description": "Enable/disable block OPTIONS requests and no OPTIONS as notifying message for redundancy either. Valid values: `disable`, `enable`.\n"
        },
        "blockPrack": {
          "type": "string",
          "description": "Enable/disable block prack requests. Valid values: `disable`, `enable`.\n"
        },
        "blockPublish": {
          "type": "string",
          "description": "Enable/disable block PUBLISH requests. Valid values: `disable`, `enable`.\n"
        },
        "blockRefer": {
          "type": "string",
          "description": "Enable/disable block REFER requests. Valid values: `disable`, `enable`.\n"
        },
        "blockRegister": {
          "type": "string",
          "description": "Enable/disable block REGISTER requests. Valid values: `disable`, `enable`.\n"
        },
        "blockSubscribe": {
          "type": "string",
          "description": "Enable/disable block SUBSCRIBE requests. Valid values: `disable`, `enable`.\n"
        },
        "blockUnknown": {
          "type": "string",
          "description": "Block unrecognized SIP requests (enabled by default). Valid values: `disable`, `enable`.\n"
        },
        "blockUpdate": {
          "type": "string",
          "description": "Enable/disable block UPDATE requests. Valid values: `disable`, `enable`.\n"
        },
        "byeRate": {
          "type": "integer",
          "description": "BYE request rate limit (per second, per policy).\n"
        },
        "byeRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "callIdRegex": {
          "type": "string",
          "description": "Validate PCRE regular expression for Call-Id header value.\n"
        },
        "callKeepalive": {
          "type": "integer",
          "description": "Continue tracking calls with no RTP for this many minutes.\n"
        },
        "cancelRate": {
          "type": "integer",
          "description": "CANCEL request rate limit (per second, per policy).\n"
        },
        "cancelRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "contactFixup": {
          "type": "string",
          "description": "Fixup contact anyway even if contact's IP:port doesn't match session's IP:port. Valid values: `disable`, `enable`.\n"
        },
        "contentTypeRegex": {
          "type": "string",
          "description": "Validate PCRE regular expression for Content-Type header value.\n"
        },
        "hntRestrictSourceIp": {
          "type": "string",
          "description": "Enable/disable restrict RTP source IP to be the same as SIP source IP when HNT is enabled. Valid values: `disable`, `enable`.\n"
        },
        "hostedNatTraversal": {
          "type": "string",
          "description": "Hosted NAT Traversal (HNT). Valid values: `disable`, `enable`.\n"
        },
        "infoRate": {
          "type": "integer",
          "description": "INFO request rate limit (per second, per policy).\n"
        },
        "infoRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "inviteRate": {
          "type": "integer",
          "description": "INVITE request rate limit (per second, per policy).\n"
        },
        "inviteRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "ipsRtp": {
          "type": "string",
          "description": "Enable/disable allow IPS on RTP. Valid values: `disable`, `enable`.\n"
        },
        "logCallSummary": {
          "type": "string",
          "description": "Enable/disable logging of SIP call summary. Valid values: `disable`, `enable`.\n"
        },
        "logViolations": {
          "type": "string",
          "description": "Enable/disable logging of SIP violations. Valid values: `disable`, `enable`.\n"
        },
        "malformedHeaderAllow": {
          "type": "string",
          "description": "Action for malformed Allow header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderCallId": {
          "type": "string",
          "description": "Action for malformed Call-ID header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderContact": {
          "type": "string",
          "description": "Action for malformed Contact header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderContentLength": {
          "type": "string",
          "description": "Action for malformed Content-Length header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderContentType": {
          "type": "string",
          "description": "Action for malformed Content-Type header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderCseq": {
          "type": "string",
          "description": "Action for malformed CSeq header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderExpires": {
          "type": "string",
          "description": "Action for malformed Expires header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderFrom": {
          "type": "string",
          "description": "Action for malformed From header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderMaxForwards": {
          "type": "string",
          "description": "Action for malformed Max-Forwards header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderNoProxyRequire": {
          "type": "string",
          "description": "Action for malformed SIP messages without Proxy-Require header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderNoRequire": {
          "type": "string",
          "description": "Action for malformed SIP messages without Require header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderPAssertedIdentity": {
          "type": "string",
          "description": "Action for malformed P-Asserted-Identity header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderRack": {
          "type": "string",
          "description": "Action for malformed RAck header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderRecordRoute": {
          "type": "string",
          "description": "Action for malformed Record-Route header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderRoute": {
          "type": "string",
          "description": "Action for malformed Route header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderRseq": {
          "type": "string",
          "description": "Action for malformed RSeq header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpA": {
          "type": "string",
          "description": "Action for malformed SDP a line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpB": {
          "type": "string",
          "description": "Action for malformed SDP b line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpC": {
          "type": "string",
          "description": "Action for malformed SDP c line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpI": {
          "type": "string",
          "description": "Action for malformed SDP i line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpK": {
          "type": "string",
          "description": "Action for malformed SDP k line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpM": {
          "type": "string",
          "description": "Action for malformed SDP m line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpO": {
          "type": "string",
          "description": "Action for malformed SDP o line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpR": {
          "type": "string",
          "description": "Action for malformed SDP r line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpS": {
          "type": "string",
          "description": "Action for malformed SDP s line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpT": {
          "type": "string",
          "description": "Action for malformed SDP t line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpV": {
          "type": "string",
          "description": "Action for malformed SDP v line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderSdpZ": {
          "type": "string",
          "description": "Action for malformed SDP z line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderTo": {
          "type": "string",
          "description": "Action for malformed To header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedHeaderVia": {
          "type": "string",
          "description": "Action for malformed VIA header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "malformedRequestLine": {
          "type": "string",
          "description": "Action for malformed request line. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "maxBodyLength": {
          "type": "integer",
          "description": "Maximum SIP message body length (0 meaning no limit).\n"
        },
        "maxDialogs": {
          "type": "integer",
          "description": "Maximum number of concurrent calls/dialogs (per policy).\n"
        },
        "maxIdleDialogs": {
          "type": "integer",
          "description": "Maximum number established but idle dialogs to retain (per policy).\n"
        },
        "maxLineLength": {
          "type": "integer",
          "description": "Maximum SIP header line length (78-4096).\n"
        },
        "messageRate": {
          "type": "integer",
          "description": "MESSAGE request rate limit (per second, per policy).\n"
        },
        "messageRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "natPortRange": {
          "type": "string",
          "description": "RTP NAT port range.\n"
        },
        "natTrace": {
          "type": "string",
          "description": "Enable/disable preservation of original IP in SDP i line. Valid values: `disable`, `enable`.\n"
        },
        "noSdpFixup": {
          "type": "string",
          "description": "Enable/disable no SDP fix-up. Valid values: `disable`, `enable`.\n"
        },
        "notifyRate": {
          "type": "integer",
          "description": "NOTIFY request rate limit (per second, per policy).\n"
        },
        "notifyRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "openContactPinhole": {
          "type": "string",
          "description": "Enable/disable open pinhole for non-REGISTER Contact port. Valid values: `disable`, `enable`.\n"
        },
        "openRecordRoutePinhole": {
          "type": "string",
          "description": "Enable/disable open pinhole for Record-Route port. Valid values: `disable`, `enable`.\n"
        },
        "openRegisterPinhole": {
          "type": "string",
          "description": "Enable/disable open pinhole for REGISTER Contact port. Valid values: `disable`, `enable`.\n"
        },
        "openViaPinhole": {
          "type": "string",
          "description": "Enable/disable open pinhole for Via port. Valid values: `disable`, `enable`.\n"
        },
        "optionsRate": {
          "type": "integer",
          "description": "OPTIONS request rate limit (per second, per policy).\n"
        },
        "optionsRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "prackRate": {
          "type": "integer",
          "description": "PRACK request rate limit (per second, per policy).\n"
        },
        "prackRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "preserveOverride": {
          "type": "string",
          "description": "Override i line to preserve original IPS (default: append). Valid values: `disable`, `enable`.\n"
        },
        "provisionalInviteExpiryTime": {
          "type": "integer",
          "description": "Expiry time (10-3600, in seconds) for provisional INVITE.\n"
        },
        "publishRate": {
          "type": "integer",
          "description": "PUBLISH request rate limit (per second, per policy).\n"
        },
        "publishRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "referRate": {
          "type": "integer",
          "description": "REFER request rate limit (per second, per policy).\n"
        },
        "referRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "registerContactTrace": {
          "type": "string",
          "description": "Enable/disable trace original IP/port within the contact header of REGISTER requests. Valid values: `disable`, `enable`.\n"
        },
        "registerRate": {
          "type": "integer",
          "description": "REGISTER request rate limit (per second, per policy).\n"
        },
        "registerRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "rfc2543Branch": {
          "type": "string",
          "description": "Enable/disable support via branch compliant with RFC 2543. Valid values: `disable`, `enable`.\n"
        },
        "rtp": {
          "type": "string",
          "description": "Enable/disable create pinholes for RTP traffic to traverse firewall. Valid values: `disable`, `enable`.\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Relative strength of encryption algorithms accepted in negotiation. Valid values: `high`, `medium`, `low`.\n"
        },
        "sslAuthClient": {
          "type": "string",
          "description": "Require a client certificate and authenticate it with the peer/peergrp.\n"
        },
        "sslAuthServer": {
          "type": "string",
          "description": "Authenticate the server's certificate with the peer/peergrp.\n"
        },
        "sslClientCertificate": {
          "type": "string",
          "description": "Name of Certificate to offer to server if requested.\n"
        },
        "sslClientRenegotiation": {
          "type": "string",
          "description": "Allow/block client renegotiation by server. Valid values: `allow`, `deny`, `secure`.\n"
        },
        "sslMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version to negotiate.\n"
        },
        "sslMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version to negotiate.\n"
        },
        "sslMode": {
          "type": "string",
          "description": "SSL/TLS mode for encryption & decryption of traffic. Valid values: `off`, `full`.\n"
        },
        "sslPfs": {
          "type": "string",
          "description": "SSL Perfect Forward Secrecy. Valid values: `require`, `deny`, `allow`.\n"
        },
        "sslSendEmptyFrags": {
          "type": "string",
          "description": "Send empty fragments to avoid attack on CBC IV (SSL 3.0 & TLS 1.0 only). Valid values: `enable`, `disable`.\n"
        },
        "sslServerCertificate": {
          "type": "string",
          "description": "Name of Certificate return to the client in every SSL connection.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable SIP. Valid values: `disable`, `enable`.\n"
        },
        "strictRegister": {
          "type": "string",
          "description": "Enable/disable only allow the registrar to connect. Valid values: `disable`, `enable`.\n"
        },
        "subscribeRate": {
          "type": "integer",
          "description": "SUBSCRIBE request rate limit (per second, per policy).\n"
        },
        "subscribeRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        },
        "unknownHeader": {
          "type": "string",
          "description": "Action for unknown SIP header. Valid values: `discard`, `pass`, `respond`.\n"
        },
        "updateRate": {
          "type": "integer",
          "description": "UPDATE request rate limit (per second, per policy).\n"
        },
        "updateRateTrack": {
          "type": "string",
          "description": "Track the packet protocol field. Valid values: `none`, `src-ip`, `dest-ip`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ackRate",
            "ackRateTrack",
            "blockAck",
            "blockBye",
            "blockCancel",
            "blockGeoRedOptions",
            "blockInfo",
            "blockInvite",
            "blockLongLines",
            "blockMessage",
            "blockNotify",
            "blockOptions",
            "blockPrack",
            "blockPublish",
            "blockRefer",
            "blockRegister",
            "blockSubscribe",
            "blockUnknown",
            "blockUpdate",
            "byeRate",
            "byeRateTrack",
            "callKeepalive",
            "cancelRate",
            "cancelRateTrack",
            "contactFixup",
            "hntRestrictSourceIp",
            "hostedNatTraversal",
            "infoRate",
            "infoRateTrack",
            "inviteRate",
            "inviteRateTrack",
            "ipsRtp",
            "logCallSummary",
            "logViolations",
            "malformedHeaderAllow",
            "malformedHeaderCallId",
            "malformedHeaderContact",
            "malformedHeaderContentLength",
            "malformedHeaderContentType",
            "malformedHeaderCseq",
            "malformedHeaderExpires",
            "malformedHeaderFrom",
            "malformedHeaderMaxForwards",
            "malformedHeaderNoProxyRequire",
            "malformedHeaderNoRequire",
            "malformedHeaderPAssertedIdentity",
            "malformedHeaderRack",
            "malformedHeaderRecordRoute",
            "malformedHeaderRoute",
            "malformedHeaderRseq",
            "malformedHeaderSdpA",
            "malformedHeaderSdpB",
            "malformedHeaderSdpC",
            "malformedHeaderSdpI",
            "malformedHeaderSdpK",
            "malformedHeaderSdpM",
            "malformedHeaderSdpO",
            "malformedHeaderSdpR",
            "malformedHeaderSdpS",
            "malformedHeaderSdpT",
            "malformedHeaderSdpV",
            "malformedHeaderSdpZ",
            "malformedHeaderTo",
            "malformedHeaderVia",
            "malformedRequestLine",
            "maxBodyLength",
            "maxDialogs",
            "maxIdleDialogs",
            "maxLineLength",
            "messageRate",
            "messageRateTrack",
            "natPortRange",
            "natTrace",
            "noSdpFixup",
            "notifyRate",
            "notifyRateTrack",
            "openContactPinhole",
            "openRecordRoutePinhole",
            "openRegisterPinhole",
            "openViaPinhole",
            "optionsRate",
            "optionsRateTrack",
            "prackRate",
            "prackRateTrack",
            "preserveOverride",
            "provisionalInviteExpiryTime",
            "publishRate",
            "publishRateTrack",
            "referRate",
            "referRateTrack",
            "registerContactTrace",
            "registerRate",
            "registerRateTrack",
            "rfc2543Branch",
            "rtp",
            "sslAlgorithm",
            "sslAuthClient",
            "sslAuthServer",
            "sslClientCertificate",
            "sslClientRenegotiation",
            "sslMaxVersion",
            "sslMinVersion",
            "sslMode",
            "sslPfs",
            "sslSendEmptyFrags",
            "sslServerCertificate",
            "status",
            "strictRegister",
            "subscribeRate",
            "subscribeRateTrack",
            "unknownHeader",
            "updateRate",
            "updateRateTrack"
          ]
        }
      }
    },
    "fortios:vpn/KmipserverServerList:KmipserverServerList": {
      "properties": {
        "cert": {
          "type": "string",
          "description": "Client certificate to use for connectivity to the KMIP server.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID\n"
        },
        "port": {
          "type": "integer",
          "description": "KMIP server port.\n"
        },
        "server": {
          "type": "string",
          "description": "KMIP server FQDN or IP address.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable KMIP server. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "cert",
            "id",
            "port",
            "server",
            "status"
          ]
        }
      }
    },
    "fortios:vpn/OcvpnForticlientAccess:OcvpnForticlientAccess": {
      "properties": {
        "authGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FOcvpnForticlientAccessAuthGroup:OcvpnForticlientAccessAuthGroup"
          },
          "description": "FortiClient user authentication groups. The structure of `auth_groups` block is documented below.\n"
        },
        "psksecret": {
          "type": "string",
          "description": "Pre-shared secret for FortiClient PSK authentication (ASCII string or hexadecimal encoded with a leading 0x).\n",
          "secret": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable FortiClient to access OCVPN networks. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "status"
          ]
        }
      }
    },
    "fortios:vpn/OcvpnForticlientAccessAuthGroup:OcvpnForticlientAccessAuthGroup": {
      "properties": {
        "authGroup": {
          "type": "string",
          "description": "Authentication user group for FortiClient access.\n"
        },
        "name": {
          "type": "string",
          "description": "Group name.\n"
        },
        "overlays": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FOcvpnForticlientAccessAuthGroupOverlay:OcvpnForticlientAccessAuthGroupOverlay"
          },
          "description": "OCVPN overlays to allow access to. The structure of `overlays` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authGroup",
            "name"
          ]
        }
      }
    },
    "fortios:vpn/OcvpnForticlientAccessAuthGroupOverlay:OcvpnForticlientAccessAuthGroupOverlay": {
      "properties": {
        "overlayName": {
          "type": "string",
          "description": "Overlay name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "overlayName"
          ]
        }
      }
    },
    "fortios:vpn/OcvpnOverlay:OcvpnOverlay": {
      "properties": {
        "assignIp": {
          "type": "string",
          "description": "Enable/disable client address assignment. Valid values: `enable`, `disable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "interOverlay": {
          "type": "string",
          "description": "Allow or deny traffic from other overlays. Valid values: `allow`, `deny`.\n"
        },
        "ipv4EndIp": {
          "type": "string",
          "description": "End of client IPv4 range.\n"
        },
        "ipv4StartIp": {
          "type": "string",
          "description": "Start of client IPv4 range.\n"
        },
        "name": {
          "type": "string",
          "description": "Overlay name.\n"
        },
        "overlayName": {
          "type": "string",
          "description": "Overlay name.\n"
        },
        "subnets": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2FOcvpnOverlaySubnet:OcvpnOverlaySubnet"
          },
          "description": "Internal subnets to register with OCVPN service. The structure of `subnets` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "assignIp",
            "id",
            "interOverlay",
            "ipv4EndIp",
            "ipv4StartIp",
            "name",
            "overlayName"
          ]
        }
      }
    },
    "fortios:vpn/OcvpnOverlaySubnet:OcvpnOverlaySubnet": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "interface": {
          "type": "string",
          "description": "LAN interface.\n"
        },
        "subnet": {
          "type": "string",
          "description": "IPv4 address and subnet mask.\n"
        },
        "type": {
          "type": "string",
          "description": "Subnet type. Valid values: `subnet`, `interface`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "interface",
            "subnet",
            "type"
          ]
        }
      }
    },
    "fortios:vpn/OcvpnWanInterface:OcvpnWanInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/QkdCertificate:QkdCertificate": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Certificate name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/certificate/SettingCrlVerification:SettingCrlVerification": {
      "properties": {
        "chainCrlAbsence": {
          "type": "string",
          "description": "CRL verification option when CRL of any certificate in chain is absent (default = ignore). Valid values: `ignore`, `revoke`.\n"
        },
        "expiry": {
          "type": "string",
          "description": "CRL verification option when CRL is expired (default = ignore). Valid values: `ignore`, `revoke`.\n"
        },
        "leafCrlAbsence": {
          "type": "string",
          "description": "CRL verification option when leaf CRL is absent (default = ignore). Valid values: `ignore`, `revoke`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chainCrlAbsence",
            "expiry",
            "leafCrlAbsence"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/ConcentratorMember:ConcentratorMember": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Member name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/FecMapping:FecMapping": {
      "properties": {
        "bandwidthBiThreshold": {
          "type": "integer",
          "description": "Apply FEC parameters when available bi-bandwidth is >= threshold (kbps, 0 means no threshold).\n"
        },
        "bandwidthDownThreshold": {
          "type": "integer",
          "description": "Apply FEC parameters when available down bandwidth is >= threshold (kbps, 0 means no threshold).\n"
        },
        "bandwidthUpThreshold": {
          "type": "integer",
          "description": "Apply FEC parameters when available up bandwidth is >= threshold (kbps, 0 means no threshold).\n"
        },
        "base": {
          "type": "integer",
          "description": "Number of base FEC packets (1 - 20).\n"
        },
        "latencyThreshold": {
          "type": "integer",
          "description": "Apply FEC parameters when latency is <= threshold (0 means no threshold).\n"
        },
        "packetLossThreshold": {
          "type": "integer",
          "description": "Apply FEC parameters when packet loss is >= threshold (0 - 100, 0 means no threshold).\n"
        },
        "redundant": {
          "type": "integer",
          "description": "Number of redundant FEC packets (1 - 5).\n"
        },
        "seqno": {
          "type": "integer",
          "description": "Sequence number (1 - 64).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "bandwidthBiThreshold",
            "bandwidthDownThreshold",
            "bandwidthUpThreshold",
            "base",
            "latencyThreshold",
            "packetLossThreshold",
            "redundant",
            "seqno"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/Phase1BackupGateway:Phase1BackupGateway": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Address of backup gateway.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "address"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/Phase1Certificate:Phase1Certificate": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Certificate name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/Phase1InternalDomainList:Phase1InternalDomainList": {
      "properties": {
        "domainName": {
          "type": "string",
          "description": "Domain name.\n\nThe `ipv4_exclude_range` block supports:\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domainName"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/Phase1Ipv4ExcludeRange:Phase1Ipv4ExcludeRange": {
      "properties": {
        "endIp": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource with format {{name}}.\n"
        },
        "startIp": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp",
            "id",
            "startIp"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/Phase1Ipv6ExcludeRange:Phase1Ipv6ExcludeRange": {
      "properties": {
        "endIp": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource with format {{name}}.\n"
        },
        "startIp": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp",
            "id",
            "startIp"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/Phase1interfaceBackupGateway:Phase1interfaceBackupGateway": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Address of backup gateway.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "address"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/Phase1interfaceCertificate:Phase1interfaceCertificate": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Certificate name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/Phase1interfaceInternalDomainList:Phase1interfaceInternalDomainList": {
      "properties": {
        "domainName": {
          "type": "string",
          "description": "Domain name.\n\nThe `ipv4_exclude_range` block supports:\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domainName"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/Phase1interfaceIpv4ExcludeRange:Phase1interfaceIpv4ExcludeRange": {
      "properties": {
        "endIp": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource with format {{name}}.\n"
        },
        "startIp": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp",
            "id",
            "startIp"
          ]
        }
      }
    },
    "fortios:vpn/ipsec/Phase1interfaceIpv6ExcludeRange:Phase1interfaceIpv6ExcludeRange": {
      "properties": {
        "endIp": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "an identifier for the resource with format {{name}}.\n"
        },
        "startIp": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endIp",
            "id",
            "startIp"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsAuthenticationRule:SettingsAuthenticationRule": {
      "properties": {
        "auth": {
          "type": "string",
          "description": "SSL VPN authentication method restriction.\n"
        },
        "cipher": {
          "type": "string",
          "description": "SSL VPN cipher strength. Valid values: `any`, `high`, `medium`.\n"
        },
        "clientCert": {
          "type": "string",
          "description": "Enable/disable SSL VPN client certificate restrictive. Valid values: `enable`, `disable`.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsAuthenticationRuleGroup:SettingsAuthenticationRuleGroup"
          },
          "description": "User groups. The structure of `groups` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID (0 - 4294967295).\n"
        },
        "portal": {
          "type": "string",
          "description": "SSL VPN portal.\n"
        },
        "realm": {
          "type": "string",
          "description": "SSL VPN realm.\n"
        },
        "sourceAddress6Negate": {
          "type": "string",
          "description": "Enable/disable negated source IPv6 address match. Valid values: `enable`, `disable`.\n"
        },
        "sourceAddress6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsAuthenticationRuleSourceAddress6:SettingsAuthenticationRuleSourceAddress6"
          },
          "description": "IPv6 source address of incoming traffic. The structure of `source_address6` block is documented below.\n"
        },
        "sourceAddressNegate": {
          "type": "string",
          "description": "Enable/disable negated source address match. Valid values: `enable`, `disable`.\n"
        },
        "sourceAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsAuthenticationRuleSourceAddress:SettingsAuthenticationRuleSourceAddress"
          },
          "description": "Source address of incoming traffic. The structure of `source_address` block is documented below.\n"
        },
        "sourceInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsAuthenticationRuleSourceInterface:SettingsAuthenticationRuleSourceInterface"
          },
          "description": "SSL VPN source interface of incoming traffic. The structure of `source_interface` block is documented below.\n"
        },
        "userPeer": {
          "type": "string",
          "description": "Name of user peer.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FSettingsAuthenticationRuleUser:SettingsAuthenticationRuleUser"
          },
          "description": "User name. The structure of `users` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "auth",
            "cipher",
            "clientCert",
            "id",
            "portal",
            "realm",
            "sourceAddress6Negate",
            "sourceAddressNegate",
            "userPeer"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsAuthenticationRuleGroup:SettingsAuthenticationRuleGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsAuthenticationRuleSourceAddress6:SettingsAuthenticationRuleSourceAddress6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsAuthenticationRuleSourceAddress:SettingsAuthenticationRuleSourceAddress": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsAuthenticationRuleSourceInterface:SettingsAuthenticationRuleSourceInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsAuthenticationRuleUser:SettingsAuthenticationRuleUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsSourceAddress6:SettingsSourceAddress6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsSourceAddress:SettingsSourceAddress": {
      "properties": {
        "name": {
          "type": "string",
          "description": "IPv6 address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsSourceInterface:SettingsSourceInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Interface name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsTunnelIpPool:SettingsTunnelIpPool": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/SettingsTunnelIpv6Pool:SettingsTunnelIpv6Pool": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/getSettingsAuthenticationRule:getSettingsAuthenticationRule": {
      "properties": {
        "auth": {
          "type": "string",
          "description": "SSL VPN authentication method restriction.\n"
        },
        "cipher": {
          "type": "string",
          "description": "SSL VPN cipher strength.\n"
        },
        "clientCert": {
          "type": "string",
          "description": "Enable/disable SSL VPN client certificate restrictive.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsAuthenticationRuleGroup:getSettingsAuthenticationRuleGroup"
          },
          "description": "User groups. The structure of `groups` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID (0 - 4294967295).\n"
        },
        "portal": {
          "type": "string",
          "description": "SSL VPN portal.\n"
        },
        "realm": {
          "type": "string",
          "description": "SSL VPN realm.\n"
        },
        "sourceAddress6Negate": {
          "type": "string",
          "description": "Enable/disable negated source IPv6 address match.\n"
        },
        "sourceAddress6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsAuthenticationRuleSourceAddress6:getSettingsAuthenticationRuleSourceAddress6"
          },
          "description": "IPv6 source address of incoming traffic. The structure of `source_address6` block is documented below.\n"
        },
        "sourceAddressNegate": {
          "type": "string",
          "description": "Enable/disable negated source address match.\n"
        },
        "sourceAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsAuthenticationRuleSourceAddress:getSettingsAuthenticationRuleSourceAddress"
          },
          "description": "Source address of incoming traffic. The structure of `source_address` block is documented below.\n"
        },
        "sourceInterfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsAuthenticationRuleSourceInterface:getSettingsAuthenticationRuleSourceInterface"
          },
          "description": "SSL VPN source interface of incoming traffic. The structure of `source_interface` block is documented below.\n"
        },
        "userPeer": {
          "type": "string",
          "description": "Name of user peer.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2FgetSettingsAuthenticationRuleUser:getSettingsAuthenticationRuleUser"
          },
          "description": "User name. The structure of `users` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "auth",
        "cipher",
        "clientCert",
        "groups",
        "id",
        "portal",
        "realm",
        "sourceAddress6Negate",
        "sourceAddress6s",
        "sourceAddressNegate",
        "sourceAddresses",
        "sourceInterfaces",
        "userPeer",
        "users"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/getSettingsAuthenticationRuleGroup:getSettingsAuthenticationRuleGroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/getSettingsAuthenticationRuleSourceAddress6:getSettingsAuthenticationRuleSourceAddress6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/getSettingsAuthenticationRuleSourceAddress:getSettingsAuthenticationRuleSourceAddress": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/getSettingsAuthenticationRuleSourceInterface:getSettingsAuthenticationRuleSourceInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/getSettingsAuthenticationRuleUser:getSettingsAuthenticationRuleUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/getSettingsSourceAddress6:getSettingsSourceAddress6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/getSettingsSourceAddress:getSettingsSourceAddress": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/getSettingsSourceInterface:getSettingsSourceInterface": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/getSettingsTunnelIpPool:getSettingsTunnelIpPool": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/getSettingsTunnelIpv6Pool:getSettingsTunnelIpv6Pool": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Group name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "fortios:vpn/ssl/web/HostchecksoftwareCheckItemList:HostchecksoftwareCheckItemList": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `require`, `deny`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Hex string of MD5 checksum.\n"
        },
        "md5s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FHostchecksoftwareCheckItemListMd5:HostchecksoftwareCheckItemListMd5"
          },
          "description": "MD5 checksum. The structure of `md5s` block is documented below.\n\nThe `md5s` block supports:\n"
        },
        "target": {
          "type": "string",
          "description": "Target.\n"
        },
        "type": {
          "type": "string",
          "description": "Type. Valid values: `file`, `registry`, `process`.\n"
        },
        "version": {
          "type": "string",
          "description": "Version.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "target",
            "type",
            "version"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/HostchecksoftwareCheckItemListMd5:HostchecksoftwareCheckItemListMd5": {
      "properties": {
        "id": {
          "type": "string",
          "description": "an identifier for the resource with format {{name}}.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalBookmarkGroup:PortalBookmarkGroup": {
      "properties": {
        "bookmarks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalBookmarkGroupBookmark:PortalBookmarkGroupBookmark"
          },
          "description": "Bookmark table. The structure of `bookmarks` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Bookmark group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalBookmarkGroupBookmark:PortalBookmarkGroupBookmark": {
      "properties": {
        "additionalParams": {
          "type": "string",
          "description": "Additional parameters.\n"
        },
        "apptype": {
          "type": "string",
          "description": "Application type.\n"
        },
        "colorDepth": {
          "type": "string",
          "description": "Color depth per pixel. Valid values: `32`, `16`, `8`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "domain": {
          "type": "string",
          "description": "Login domain.\n"
        },
        "folder": {
          "type": "string",
          "description": "Network shared file folder parameter.\n"
        },
        "formDatas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalBookmarkGroupBookmarkFormData:PortalBookmarkGroupBookmarkFormData"
          },
          "description": "Form data. The structure of `form_data` block is documented below.\n"
        },
        "height": {
          "type": "integer",
          "description": "Screen height. On FortiOS versions 7.0.4-7.0.5: range from 480 - 65535, default = 768. On FortiOS versions >= 7.0.6: range from 0 - 65535, default = 0.\n"
        },
        "host": {
          "type": "string",
          "description": "Host name/IP parameter.\n"
        },
        "keyboardLayout": {
          "type": "string",
          "description": "Keyboard layout.\n"
        },
        "listeningPort": {
          "type": "integer",
          "description": "Listening port (0 - 65535).\n"
        },
        "loadBalancingInfo": {
          "type": "string",
          "description": "The load balancing information or cookie which should be provided to the connection broker.\n"
        },
        "logonPassword": {
          "type": "string",
          "description": "Logon password.\n",
          "secret": true
        },
        "logonUser": {
          "type": "string",
          "description": "Logon user.\n"
        },
        "name": {
          "type": "string",
          "description": "Bookmark name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Remote port.\n"
        },
        "preconnectionBlob": {
          "type": "string",
          "description": "An arbitrary string which identifies the RDP source.\n"
        },
        "preconnectionId": {
          "type": "integer",
          "description": "The numeric ID of the RDP source. On FortiOS versions 6.2.0-6.4.2, 7.0.0: 0-2147483648. On FortiOS versions 6.4.10-6.4.15, >= 7.0.1: 0-4294967295.\n"
        },
        "remotePort": {
          "type": "integer",
          "description": "Remote port (0 - 65535).\n"
        },
        "restrictedAdmin": {
          "type": "string",
          "description": "Enable/disable restricted admin mode for RDP. Valid values: `enable`, `disable`.\n"
        },
        "security": {
          "type": "string",
          "description": "Security mode for RDP connection (default = any). Valid values: `rdp`, `nla`, `tls`, `any`.\n"
        },
        "sendPreconnectionId": {
          "type": "string",
          "description": "Enable/disable sending of preconnection ID. Valid values: `enable`, `disable`.\n"
        },
        "serverLayout": {
          "type": "string",
          "description": "Server side keyboard layout.\n"
        },
        "showStatusWindow": {
          "type": "string",
          "description": "Enable/disable showing of status window. Valid values: `enable`, `disable`.\n"
        },
        "sso": {
          "type": "string",
          "description": "Single Sign-On. Valid values: `disable`, `static`, `auto`.\n"
        },
        "ssoCredential": {
          "type": "string",
          "description": "Single sign-on credentials. Valid values: `sslvpn-login`, `alternative`.\n"
        },
        "ssoCredentialSentOnce": {
          "type": "string",
          "description": "Single sign-on credentials are only sent once to remote server. Valid values: `enable`, `disable`.\n"
        },
        "ssoPassword": {
          "type": "string",
          "description": "SSO password.\n",
          "secret": true
        },
        "ssoUsername": {
          "type": "string",
          "description": "SSO user name.\n"
        },
        "url": {
          "type": "string",
          "description": "URL parameter.\n"
        },
        "vncKeyboardLayout": {
          "type": "string",
          "description": "Keyboard layout. Valid values: `default`, `da`, `nl`, `en-uk`, `en-uk-ext`, `fi`, `fr`, `fr-be`, `fr-ca-mul`, `de`, `de-ch`, `it`, `it-142`, `pt`, `pt-br-abnt2`, `no`, `gd`, `es`, `sv`, `us-intl`.\n"
        },
        "width": {
          "type": "integer",
          "description": "Screen width. On FortiOS versions 7.0.4-7.0.5: range from 640 - 65535, default = 1024. On FortiOS versions >= 7.0.6: range from 0 - 65535, default = 0.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "apptype",
            "colorDepth",
            "height",
            "keyboardLayout",
            "listeningPort",
            "name",
            "port",
            "preconnectionId",
            "remotePort",
            "restrictedAdmin",
            "security",
            "sendPreconnectionId",
            "serverLayout",
            "showStatusWindow",
            "sso",
            "ssoCredential",
            "ssoCredentialSentOnce",
            "vncKeyboardLayout",
            "width"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalBookmarkGroupBookmarkFormData:PortalBookmarkGroupBookmarkFormData": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "value": {
          "type": "string",
          "description": "Value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalHostCheckPolicy:PortalHostCheckPolicy": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Host check software list name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalIpPool:PortalIpPool": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalIpv6Pool:PortalIpv6Pool": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Portal name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalIpv6SplitTunnelingRoutingAddress:PortalIpv6SplitTunnelingRoutingAddress": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Portal name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalLandingPage:PortalLandingPage": {
      "properties": {
        "formDatas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalLandingPageFormData:PortalLandingPageFormData"
          },
          "description": "Form data. The structure of `form_data` block is documented below.\n"
        },
        "logoutUrl": {
          "type": "string",
          "description": "Landing page log out URL.\n"
        },
        "sso": {
          "type": "string",
          "description": "Single sign-on. Valid values: `disable`, `static`, `auto`.\n"
        },
        "ssoCredential": {
          "type": "string",
          "description": "Single sign-on credentials. Valid values: `sslvpn-login`, `alternative`.\n"
        },
        "ssoPassword": {
          "type": "string",
          "description": "SSO password.\n"
        },
        "ssoUsername": {
          "type": "string",
          "description": "SSO user name.\n"
        },
        "url": {
          "type": "string",
          "description": "Landing page URL.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "sso",
            "ssoCredential"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalLandingPageFormData:PortalLandingPageFormData": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "value": {
          "type": "string",
          "description": "Value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalMacAddrCheckRule:PortalMacAddrCheckRule": {
      "properties": {
        "macAddrLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FPortalMacAddrCheckRuleMacAddrList:PortalMacAddrCheckRuleMacAddrList"
          },
          "description": "Client MAC address list. The structure of `mac_addr_list` block is documented below.\n"
        },
        "macAddrMask": {
          "type": "integer",
          "description": "Client MAC address mask.\n"
        },
        "name": {
          "type": "string",
          "description": "Client MAC address check rule name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "macAddrMask",
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalMacAddrCheckRuleMacAddrList:PortalMacAddrCheckRuleMacAddrList": {
      "properties": {
        "addr": {
          "type": "string",
          "description": "Client MAC address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "addr"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalOsCheckList:PortalOsCheckList": {
      "properties": {
        "action": {
          "type": "string",
          "description": "OS check options. Valid values: `deny`, `allow`, `check-up-to-date`.\n"
        },
        "latestPatchLevel": {
          "type": "string",
          "description": "Latest OS patch level.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "tolerance": {
          "type": "integer",
          "description": "OS patch level tolerance.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "latestPatchLevel",
            "name",
            "tolerance"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalSplitDn:PortalSplitDn": {
      "properties": {
        "dnsServer1": {
          "type": "string",
          "description": "DNS server 1.\n"
        },
        "dnsServer2": {
          "type": "string",
          "description": "DNS server 2.\n"
        },
        "domains": {
          "type": "string",
          "description": "Split DNS domains used for SSL-VPN clients separated by comma.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ipv6DnsServer1": {
          "type": "string",
          "description": "IPv6 DNS server 1.\n"
        },
        "ipv6DnsServer2": {
          "type": "string",
          "description": "IPv6 DNS server 2.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dnsServer1",
            "dnsServer2",
            "id",
            "ipv6DnsServer1",
            "ipv6DnsServer2"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/PortalSplitTunnelingRoutingAddress:PortalSplitTunnelingRoutingAddress": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/UserbookmarkBookmark:UserbookmarkBookmark": {
      "properties": {
        "additionalParams": {
          "type": "string",
          "description": "Additional parameters.\n"
        },
        "apptype": {
          "type": "string",
          "description": "Application type.\n"
        },
        "colorDepth": {
          "type": "string",
          "description": "Color depth per pixel. Valid values: `32`, `16`, `8`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "domain": {
          "type": "string",
          "description": "Login domain.\n"
        },
        "folder": {
          "type": "string",
          "description": "Network shared file folder parameter.\n"
        },
        "formDatas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FUserbookmarkBookmarkFormData:UserbookmarkBookmarkFormData"
          },
          "description": "Form data. The structure of `form_data` block is documented below.\n"
        },
        "height": {
          "type": "integer",
          "description": "Screen height. On FortiOS versions 7.0.4-7.0.5: range from 480 - 65535, default = 768. On FortiOS versions >= 7.0.6: range from 0 - 65535, default = 0.\n"
        },
        "host": {
          "type": "string",
          "description": "Host name/IP parameter.\n"
        },
        "keyboardLayout": {
          "type": "string",
          "description": "Keyboard layout.\n"
        },
        "listeningPort": {
          "type": "integer",
          "description": "Listening port (0 - 65535).\n"
        },
        "loadBalancingInfo": {
          "type": "string",
          "description": "The load balancing information or cookie which should be provided to the connection broker.\n"
        },
        "logonPassword": {
          "type": "string",
          "description": "Logon password.\n",
          "secret": true
        },
        "logonUser": {
          "type": "string",
          "description": "Logon user.\n"
        },
        "name": {
          "type": "string",
          "description": "Bookmark name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Remote port.\n"
        },
        "preconnectionBlob": {
          "type": "string",
          "description": "An arbitrary string which identifies the RDP source.\n"
        },
        "preconnectionId": {
          "type": "integer",
          "description": "The numeric ID of the RDP source. On FortiOS versions 6.2.0-6.4.2, 7.0.0: 0-2147483648. On FortiOS versions 6.4.10-6.4.15, >= 7.0.1: 0-4294967295.\n"
        },
        "remotePort": {
          "type": "integer",
          "description": "Remote port (0 - 65535).\n"
        },
        "restrictedAdmin": {
          "type": "string",
          "description": "Enable/disable restricted admin mode for RDP. Valid values: `enable`, `disable`.\n"
        },
        "security": {
          "type": "string",
          "description": "Security mode for RDP connection (default = any). Valid values: `rdp`, `nla`, `tls`, `any`.\n"
        },
        "sendPreconnectionId": {
          "type": "string",
          "description": "Enable/disable sending of preconnection ID. Valid values: `enable`, `disable`.\n"
        },
        "serverLayout": {
          "type": "string",
          "description": "Server side keyboard layout.\n"
        },
        "showStatusWindow": {
          "type": "string",
          "description": "Enable/disable showing of status window. Valid values: `enable`, `disable`.\n"
        },
        "sso": {
          "type": "string",
          "description": "Single Sign-On. Valid values: `disable`, `static`, `auto`.\n"
        },
        "ssoCredential": {
          "type": "string",
          "description": "Single sign-on credentials. Valid values: `sslvpn-login`, `alternative`.\n"
        },
        "ssoCredentialSentOnce": {
          "type": "string",
          "description": "Single sign-on credentials are only sent once to remote server. Valid values: `enable`, `disable`.\n"
        },
        "ssoPassword": {
          "type": "string",
          "description": "SSO password.\n",
          "secret": true
        },
        "ssoUsername": {
          "type": "string",
          "description": "SSO user name.\n"
        },
        "url": {
          "type": "string",
          "description": "URL parameter.\n"
        },
        "vncKeyboardLayout": {
          "type": "string",
          "description": "Keyboard layout. Valid values: `default`, `da`, `nl`, `en-uk`, `en-uk-ext`, `fi`, `fr`, `fr-be`, `fr-ca-mul`, `de`, `de-ch`, `it`, `it-142`, `pt`, `pt-br-abnt2`, `no`, `gd`, `es`, `sv`, `us-intl`.\n"
        },
        "width": {
          "type": "integer",
          "description": "Screen width. On FortiOS versions 7.0.4-7.0.5: range from 640 - 65535, default = 1024. On FortiOS versions >= 7.0.6: range from 0 - 65535, default = 0.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "apptype",
            "colorDepth",
            "height",
            "keyboardLayout",
            "listeningPort",
            "name",
            "port",
            "preconnectionId",
            "remotePort",
            "restrictedAdmin",
            "security",
            "sendPreconnectionId",
            "serverLayout",
            "showStatusWindow",
            "sso",
            "ssoCredential",
            "ssoCredentialSentOnce",
            "vncKeyboardLayout",
            "width"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/UserbookmarkBookmarkFormData:UserbookmarkBookmarkFormData": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "value": {
          "type": "string",
          "description": "Value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/UsergroupbookmarkBookmark:UsergroupbookmarkBookmark": {
      "properties": {
        "additionalParams": {
          "type": "string",
          "description": "Additional parameters.\n"
        },
        "apptype": {
          "type": "string",
          "description": "Application type.\n"
        },
        "colorDepth": {
          "type": "string",
          "description": "Color depth per pixel. Valid values: `32`, `16`, `8`.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "domain": {
          "type": "string",
          "description": "Login domain.\n"
        },
        "folder": {
          "type": "string",
          "description": "Network shared file folder parameter.\n"
        },
        "formDatas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:vpn%2Fssl%2Fweb%2FUsergroupbookmarkBookmarkFormData:UsergroupbookmarkBookmarkFormData"
          },
          "description": "Form data. The structure of `form_data` block is documented below.\n"
        },
        "height": {
          "type": "integer",
          "description": "Screen height. On FortiOS versions 7.0.4-7.0.5: range from 480 - 65535, default = 768. On FortiOS versions >= 7.0.6: range from 0 - 65535, default = 0.\n"
        },
        "host": {
          "type": "string",
          "description": "Host name/IP parameter.\n"
        },
        "keyboardLayout": {
          "type": "string",
          "description": "Keyboard layout.\n"
        },
        "listeningPort": {
          "type": "integer",
          "description": "Listening port (0 - 65535).\n"
        },
        "loadBalancingInfo": {
          "type": "string",
          "description": "The load balancing information or cookie which should be provided to the connection broker.\n"
        },
        "logonPassword": {
          "type": "string",
          "description": "Logon password.\n",
          "secret": true
        },
        "logonUser": {
          "type": "string",
          "description": "Logon user.\n"
        },
        "name": {
          "type": "string",
          "description": "Bookmark name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Remote port.\n"
        },
        "preconnectionBlob": {
          "type": "string",
          "description": "An arbitrary string which identifies the RDP source.\n"
        },
        "preconnectionId": {
          "type": "integer",
          "description": "The numeric ID of the RDP source. On FortiOS versions 6.2.0-6.4.2, 7.0.0: 0-2147483648. On FortiOS versions 6.4.10-6.4.15, >= 7.0.1: 0-4294967295.\n"
        },
        "remotePort": {
          "type": "integer",
          "description": "Remote port (0 - 65535).\n"
        },
        "restrictedAdmin": {
          "type": "string",
          "description": "Enable/disable restricted admin mode for RDP. Valid values: `enable`, `disable`.\n"
        },
        "security": {
          "type": "string",
          "description": "Security mode for RDP connection (default = any). Valid values: `rdp`, `nla`, `tls`, `any`.\n"
        },
        "sendPreconnectionId": {
          "type": "string",
          "description": "Enable/disable sending of preconnection ID. Valid values: `enable`, `disable`.\n"
        },
        "serverLayout": {
          "type": "string",
          "description": "Server side keyboard layout.\n"
        },
        "showStatusWindow": {
          "type": "string",
          "description": "Enable/disable showing of status window. Valid values: `enable`, `disable`.\n"
        },
        "sso": {
          "type": "string",
          "description": "Single Sign-On. Valid values: `disable`, `static`, `auto`.\n"
        },
        "ssoCredential": {
          "type": "string",
          "description": "Single sign-on credentials. Valid values: `sslvpn-login`, `alternative`.\n"
        },
        "ssoCredentialSentOnce": {
          "type": "string",
          "description": "Single sign-on credentials are only sent once to remote server. Valid values: `enable`, `disable`.\n"
        },
        "ssoPassword": {
          "type": "string",
          "description": "SSO password.\n",
          "secret": true
        },
        "ssoUsername": {
          "type": "string",
          "description": "SSO user name.\n"
        },
        "url": {
          "type": "string",
          "description": "URL parameter.\n"
        },
        "vncKeyboardLayout": {
          "type": "string",
          "description": "Keyboard layout. Valid values: `default`, `da`, `nl`, `en-uk`, `en-uk-ext`, `fi`, `fr`, `fr-be`, `fr-ca-mul`, `de`, `de-ch`, `it`, `it-142`, `pt`, `pt-br-abnt2`, `no`, `gd`, `es`, `sv`, `us-intl`.\n"
        },
        "width": {
          "type": "integer",
          "description": "Screen width. On FortiOS versions 7.0.4-7.0.5: range from 640 - 65535, default = 1024. On FortiOS versions >= 7.0.6: range from 0 - 65535, default = 0.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "apptype",
            "colorDepth",
            "height",
            "keyboardLayout",
            "listeningPort",
            "name",
            "port",
            "preconnectionId",
            "remotePort",
            "restrictedAdmin",
            "security",
            "sendPreconnectionId",
            "serverLayout",
            "showStatusWindow",
            "sso",
            "ssoCredential",
            "ssoCredentialSentOnce",
            "vncKeyboardLayout",
            "width"
          ]
        }
      }
    },
    "fortios:vpn/ssl/web/UsergroupbookmarkBookmarkFormData:UsergroupbookmarkBookmarkFormData": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "value": {
          "type": "string",
          "description": "Value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:waf/ProfileAddressList:ProfileAddressList": {
      "properties": {
        "blockedAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileAddressListBlockedAddress:ProfileAddressListBlockedAddress"
          },
          "description": "Blocked address. The structure of `blocked_address` block is documented below.\n"
        },
        "blockedLog": {
          "type": "string",
          "description": "Enable/disable logging on blocked addresses. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Status. Valid values: `enable`, `disable`.\n"
        },
        "trustedAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileAddressListTrustedAddress:ProfileAddressListTrustedAddress"
          },
          "description": "Trusted address. The structure of `trusted_address` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "blockedLog",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileAddressListBlockedAddress:ProfileAddressListBlockedAddress": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:waf/ProfileAddressListTrustedAddress:ProfileAddressListTrustedAddress": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraint:ProfileConstraint": {
      "properties": {
        "contentLength": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintContentLength:ProfileConstraintContentLength",
          "description": "HTTP content length in request. The structure of `content_length` block is documented below.\n"
        },
        "exceptions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileConstraintException:ProfileConstraintException"
          },
          "description": "HTTP constraint exception. The structure of `exception` block is documented below.\n"
        },
        "headerLength": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintHeaderLength:ProfileConstraintHeaderLength",
          "description": "HTTP header length in request. The structure of `header_length` block is documented below.\n"
        },
        "hostname": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintHostname:ProfileConstraintHostname",
          "description": "Enable/disable hostname check. The structure of `hostname` block is documented below.\n"
        },
        "lineLength": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintLineLength:ProfileConstraintLineLength",
          "description": "HTTP line length in request. The structure of `line_length` block is documented below.\n"
        },
        "malformed": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintMalformed:ProfileConstraintMalformed",
          "description": "Enable/disable malformed HTTP request check. The structure of `malformed` block is documented below.\n"
        },
        "maxCookie": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintMaxCookie:ProfileConstraintMaxCookie",
          "description": "Maximum number of cookies in HTTP request. The structure of `max_cookie` block is documented below.\n"
        },
        "maxHeaderLine": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintMaxHeaderLine:ProfileConstraintMaxHeaderLine",
          "description": "Maximum number of HTTP header line. The structure of `max_header_line` block is documented below.\n"
        },
        "maxRangeSegment": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintMaxRangeSegment:ProfileConstraintMaxRangeSegment",
          "description": "Maximum number of range segments in HTTP range line. The structure of `max_range_segment` block is documented below.\n"
        },
        "maxUrlParam": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintMaxUrlParam:ProfileConstraintMaxUrlParam",
          "description": "Maximum number of parameters in URL. The structure of `max_url_param` block is documented below.\n"
        },
        "method": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintMethod:ProfileConstraintMethod",
          "description": "Enable/disable HTTP method check. The structure of `method` block is documented below.\n"
        },
        "paramLength": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintParamLength:ProfileConstraintParamLength",
          "description": "Maximum length of parameter in URL, HTTP POST request or HTTP body. The structure of `param_length` block is documented below.\n"
        },
        "urlParamLength": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintUrlParamLength:ProfileConstraintUrlParamLength",
          "description": "Maximum length of parameter in URL. The structure of `url_param_length` block is documented below.\n"
        },
        "version": {
          "$ref": "#/types/fortios:waf%2FProfileConstraintVersion:ProfileConstraintVersion",
          "description": "Enable/disable HTTP version check. The structure of `version` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "contentLength",
            "headerLength",
            "hostname",
            "lineLength",
            "malformed",
            "maxCookie",
            "maxHeaderLine",
            "maxRangeSegment",
            "maxUrlParam",
            "method",
            "paramLength",
            "urlParamLength",
            "version"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintContentLength:ProfileConstraintContentLength": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "length": {
          "type": "integer",
          "description": "Length of HTTP content in bytes (0 to 2147483647).\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "length",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintException:ProfileConstraintException": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Host address.\n"
        },
        "contentLength": {
          "type": "string",
          "description": "HTTP content length in request. Valid values: `enable`, `disable`.\n"
        },
        "headerLength": {
          "type": "string",
          "description": "HTTP header length in request. Valid values: `enable`, `disable`.\n"
        },
        "hostname": {
          "type": "string",
          "description": "Enable/disable hostname check. Valid values: `enable`, `disable`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Exception ID.\n"
        },
        "lineLength": {
          "type": "string",
          "description": "HTTP line length in request. Valid values: `enable`, `disable`.\n"
        },
        "malformed": {
          "type": "string",
          "description": "Enable/disable malformed HTTP request check. Valid values: `enable`, `disable`.\n"
        },
        "maxCookie": {
          "type": "string",
          "description": "Maximum number of cookies in HTTP request. Valid values: `enable`, `disable`.\n"
        },
        "maxHeaderLine": {
          "type": "string",
          "description": "Maximum number of HTTP header line. Valid values: `enable`, `disable`.\n"
        },
        "maxRangeSegment": {
          "type": "string",
          "description": "Maximum number of range segments in HTTP range line. Valid values: `enable`, `disable`.\n"
        },
        "maxUrlParam": {
          "type": "string",
          "description": "Maximum number of parameters in URL. Valid values: `enable`, `disable`.\n"
        },
        "method": {
          "type": "string",
          "description": "Enable/disable HTTP method check. Valid values: `enable`, `disable`.\n"
        },
        "paramLength": {
          "type": "string",
          "description": "Maximum length of parameter in URL, HTTP POST request or HTTP body. Valid values: `enable`, `disable`.\n"
        },
        "pattern": {
          "type": "string",
          "description": "URL pattern.\n"
        },
        "regex": {
          "type": "string",
          "description": "Enable/disable regular expression based pattern match. Valid values: `enable`, `disable`.\n"
        },
        "urlParamLength": {
          "type": "string",
          "description": "Maximum length of parameter in URL. Valid values: `enable`, `disable`.\n"
        },
        "version": {
          "type": "string",
          "description": "Enable/disable HTTP version check. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "address",
            "contentLength",
            "headerLength",
            "hostname",
            "id",
            "lineLength",
            "malformed",
            "maxCookie",
            "maxHeaderLine",
            "maxRangeSegment",
            "maxUrlParam",
            "method",
            "paramLength",
            "pattern",
            "regex",
            "urlParamLength",
            "version"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintHeaderLength:ProfileConstraintHeaderLength": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "length": {
          "type": "integer",
          "description": "Length of HTTP header in bytes (0 to 2147483647).\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "length",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintHostname:ProfileConstraintHostname": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintLineLength:ProfileConstraintLineLength": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "length": {
          "type": "integer",
          "description": "Length of HTTP line in bytes (0 to 2147483647).\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "length",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintMalformed:ProfileConstraintMalformed": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintMaxCookie:ProfileConstraintMaxCookie": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "maxCookie": {
          "type": "integer",
          "description": "Maximum number of cookies in HTTP request (0 to 2147483647).\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "maxCookie",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintMaxHeaderLine:ProfileConstraintMaxHeaderLine": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "maxHeaderLine": {
          "type": "integer",
          "description": "Maximum number HTTP header lines (0 to 2147483647).\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "maxHeaderLine",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintMaxRangeSegment:ProfileConstraintMaxRangeSegment": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "maxRangeSegment": {
          "type": "integer",
          "description": "Maximum number of range segments in HTTP range line (0 to 2147483647).\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "maxRangeSegment",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintMaxUrlParam:ProfileConstraintMaxUrlParam": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "maxUrlParam": {
          "type": "integer",
          "description": "Maximum number of parameters in URL (0 to 2147483647).\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "maxUrlParam",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintMethod:ProfileConstraintMethod": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintParamLength:ProfileConstraintParamLength": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "length": {
          "type": "integer",
          "description": "Maximum length of parameter in URL, HTTP POST request or HTTP body in bytes (0 to 2147483647).\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "length",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintUrlParamLength:ProfileConstraintUrlParamLength": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "length": {
          "type": "integer",
          "description": "Maximum length of URL parameter in bytes (0 to 2147483647).\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "length",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileConstraintVersion:ProfileConstraintVersion": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the constraint. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileMethod:ProfileMethod": {
      "properties": {
        "defaultAllowedMethods": {
          "type": "string",
          "description": "Methods. Valid values: `get`, `post`, `put`, `head`, `connect`, `trace`, `options`, `delete`, `others`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "methodPolicies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileMethodMethodPolicy:ProfileMethodMethodPolicy"
          },
          "description": "HTTP method policy. The structure of `method_policy` block is documented below.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "defaultAllowedMethods",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileMethodMethodPolicy:ProfileMethodMethodPolicy": {
      "properties": {
        "address": {
          "type": "string",
          "description": "Host address.\n"
        },
        "allowedMethods": {
          "type": "string",
          "description": "Allowed Methods. Valid values: `get`, `post`, `put`, `head`, `connect`, `trace`, `options`, `delete`, `others`.\n"
        },
        "id": {
          "type": "integer",
          "description": "HTTP method policy ID.\n"
        },
        "pattern": {
          "type": "string",
          "description": "URL pattern.\n"
        },
        "regex": {
          "type": "string",
          "description": "Enable/disable regular expression based pattern match. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "address",
            "allowedMethods",
            "id",
            "pattern",
            "regex"
          ]
        }
      }
    },
    "fortios:waf/ProfileSignature:ProfileSignature": {
      "properties": {
        "creditCardDetectionThreshold": {
          "type": "integer",
          "description": "The minimum number of Credit cards to detect violation.\n"
        },
        "customSignatures": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileSignatureCustomSignature:ProfileSignatureCustomSignature"
          },
          "description": "Custom signature. The structure of `custom_signature` block is documented below.\n"
        },
        "disabledSignatures": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileSignatureDisabledSignature:ProfileSignatureDisabledSignature"
          },
          "description": "Disabled signatures The structure of `disabled_signature` block is documented below.\n"
        },
        "disabledSubClasses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileSignatureDisabledSubClass:ProfileSignatureDisabledSubClass"
          },
          "description": "Disabled signature subclasses. The structure of `disabled_sub_class` block is documented below.\n"
        },
        "mainClasses": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileSignatureMainClass:ProfileSignatureMainClass"
          },
          "description": "Main signature class. The structure of `main_class` block is documented below.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "creditCardDetectionThreshold"
          ]
        }
      }
    },
    "fortios:waf/ProfileSignatureCustomSignature:ProfileSignatureCustomSignature": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`, `erase`.\n"
        },
        "caseSensitivity": {
          "type": "string",
          "description": "Case sensitivity in pattern. Valid values: `disable`, `enable`.\n"
        },
        "direction": {
          "type": "string",
          "description": "Traffic direction. Valid values: `request`, `response`.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Signature name.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Match pattern.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Status. Valid values: `enable`, `disable`.\n"
        },
        "target": {
          "type": "string",
          "description": "Match HTTP target. Valid values: `arg`, `arg-name`, `req-body`, `req-cookie`, `req-cookie-name`, `req-filename`, `req-header`, `req-header-name`, `req-raw-uri`, `req-uri`, `resp-body`, `resp-hdr`, `resp-status`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "caseSensitivity",
            "direction",
            "log",
            "name",
            "pattern",
            "severity",
            "status",
            "target"
          ]
        }
      }
    },
    "fortios:waf/ProfileSignatureDisabledSignature:ProfileSignatureDisabledSignature": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Signature ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:waf/ProfileSignatureDisabledSubClass:ProfileSignatureDisabledSubClass": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Signature subclass ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:waf/ProfileSignatureMainClass:ProfileSignatureMainClass": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `allow`, `block`, `erase`.\n"
        },
        "id": {
          "type": "integer",
          "description": "Main signature class ID.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        },
        "status": {
          "type": "string",
          "description": "Status. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "log",
            "severity",
            "status"
          ]
        }
      }
    },
    "fortios:waf/ProfileUrlAccess:ProfileUrlAccess": {
      "properties": {
        "accessPatterns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:waf%2FProfileUrlAccessAccessPattern:ProfileUrlAccessAccessPattern"
          },
          "description": "URL access pattern. The structure of `access_pattern` block is documented below.\n"
        },
        "action": {
          "type": "string",
          "description": "Action. Valid values: `bypass`, `permit`, `block`.\n"
        },
        "address": {
          "type": "string",
          "description": "Host address.\n"
        },
        "id": {
          "type": "integer",
          "description": "URL access ID.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity. Valid values: `high`, `medium`, `low`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "address",
            "id",
            "log",
            "severity"
          ]
        }
      }
    },
    "fortios:waf/ProfileUrlAccessAccessPattern:ProfileUrlAccessAccessPattern": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "URL access pattern ID.\n"
        },
        "negate": {
          "type": "string",
          "description": "Enable/disable match negation. Valid values: `enable`, `disable`.\n"
        },
        "pattern": {
          "type": "string",
          "description": "URL pattern.\n"
        },
        "regex": {
          "type": "string",
          "description": "Enable/disable regular expression based pattern match. Valid values: `enable`, `disable`.\n"
        },
        "srcaddr": {
          "type": "string",
          "description": "Source address.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "negate",
            "pattern",
            "regex",
            "srcaddr"
          ]
        }
      }
    },
    "fortios:wanopt/CacheserviceDstPeer:CacheserviceDstPeer": {
      "properties": {
        "authType": {
          "type": "integer",
          "description": "Set authentication type for this peer.\n"
        },
        "deviceId": {
          "type": "string",
          "description": "Device ID of this peer.\n"
        },
        "encodeType": {
          "type": "integer",
          "description": "Set encode type for this peer.\n"
        },
        "ip": {
          "type": "string",
          "description": "Set cluster IP address of this peer.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Set priority for this peer.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authType",
            "deviceId",
            "encodeType",
            "ip",
            "priority"
          ]
        }
      }
    },
    "fortios:wanopt/CacheserviceSrcPeer:CacheserviceSrcPeer": {
      "properties": {
        "authType": {
          "type": "integer",
          "description": "Set authentication type for this peer.\n"
        },
        "deviceId": {
          "type": "string",
          "description": "Device ID of this peer.\n"
        },
        "encodeType": {
          "type": "integer",
          "description": "Set encode type for this peer.\n"
        },
        "ip": {
          "type": "string",
          "description": "Set cluster IP address of this peer.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Set priority for this peer.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authType",
            "deviceId",
            "encodeType",
            "ip",
            "priority"
          ]
        }
      }
    },
    "fortios:wanopt/ContentdeliverynetworkruleHostDomainNameSuffix:ContentdeliverynetworkruleHostDomainNameSuffix": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Suffix portion of the fully qualified domain name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wanopt/ContentdeliverynetworkruleRule:ContentdeliverynetworkruleRule": {
      "properties": {
        "contentId": {
          "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleRuleContentId:ContentdeliverynetworkruleRuleContentId",
          "description": "Content ID settings. The structure of `content_id` block is documented below.\n"
        },
        "matchEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleRuleMatchEntry:ContentdeliverynetworkruleRuleMatchEntry"
          },
          "description": "List of entries to match. The structure of `match_entries` block is documented below.\n"
        },
        "matchMode": {
          "type": "string",
          "description": "Match criteria for collecting content ID. Valid values: `all`, `any`.\n"
        },
        "name": {
          "type": "string",
          "description": "WAN optimization content delivery network rule name.\n"
        },
        "skipEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleRuleSkipEntry:ContentdeliverynetworkruleRuleSkipEntry"
          },
          "description": "List of entries to skip. The structure of `skip_entries` block is documented below.\n"
        },
        "skipRuleMode": {
          "type": "string",
          "description": "Skip mode when evaluating skip-rules. Valid values: `all`, `any`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "contentId",
            "matchMode",
            "name",
            "skipRuleMode"
          ]
        }
      }
    },
    "fortios:wanopt/ContentdeliverynetworkruleRuleContentId:ContentdeliverynetworkruleRuleContentId": {
      "properties": {
        "endDirection": {
          "type": "string",
          "description": "Search direction from end-str match. Valid values: `forward`, `backward`.\n"
        },
        "endSkip": {
          "type": "integer",
          "description": "Number of characters in URL to skip after end-str has been matched.\n"
        },
        "endStr": {
          "type": "string",
          "description": "String from which to end search.\n"
        },
        "rangeStr": {
          "type": "string",
          "description": "Name of content ID within the start string and end string.\n"
        },
        "startDirection": {
          "type": "string",
          "description": "Search direction from start-str match. Valid values: `forward`, `backward`.\n"
        },
        "startSkip": {
          "type": "integer",
          "description": "Number of characters in URL to skip after start-str has been matched.\n"
        },
        "startStr": {
          "type": "string",
          "description": "String from which to start search.\n"
        },
        "target": {
          "type": "string",
          "description": "Option in HTTP header or URL parameter to match. Valid values: `path`, `parameter`, `referrer`, `youtube-map`, `youtube-id`, `youku-id`, `hls-manifest`, `dash-manifest`, `hls-fragment`, `dash-fragment`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endDirection",
            "endSkip",
            "endStr",
            "rangeStr",
            "startDirection",
            "startSkip",
            "startStr",
            "target"
          ]
        }
      }
    },
    "fortios:wanopt/ContentdeliverynetworkruleRuleMatchEntry:ContentdeliverynetworkruleRuleMatchEntry": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "patterns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleRuleMatchEntryPattern:ContentdeliverynetworkruleRuleMatchEntryPattern"
          },
          "description": "Pattern string for matching target (Referrer or URL pattern, eg. \"a\", \"a*c\", \"*a*\", \"a*c*e\", and \"*\"). The structure of `pattern` block is documented below.\n"
        },
        "target": {
          "type": "string",
          "description": "Option in HTTP header or URL parameter to match. Valid values: `path`, `parameter`, `referrer`, `youtube-map`, `youtube-id`, `youku-id`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "target"
          ]
        }
      }
    },
    "fortios:wanopt/ContentdeliverynetworkruleRuleMatchEntryPattern:ContentdeliverynetworkruleRuleMatchEntryPattern": {
      "properties": {
        "string": {
          "type": "string",
          "description": "Pattern strings.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "string"
          ]
        }
      }
    },
    "fortios:wanopt/ContentdeliverynetworkruleRuleSkipEntry:ContentdeliverynetworkruleRuleSkipEntry": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "patterns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wanopt%2FContentdeliverynetworkruleRuleSkipEntryPattern:ContentdeliverynetworkruleRuleSkipEntryPattern"
          },
          "description": "Pattern string for matching target (Referrer or URL pattern, eg. \"a\", \"a*c\", \"*a*\", \"a*c*e\", and \"*\"). The structure of `pattern` block is documented below.\n"
        },
        "target": {
          "type": "string",
          "description": "Option in HTTP header or URL parameter to match. Valid values: `path`, `parameter`, `referrer`, `youtube-map`, `youtube-id`, `youku-id`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "target"
          ]
        }
      }
    },
    "fortios:wanopt/ContentdeliverynetworkruleRuleSkipEntryPattern:ContentdeliverynetworkruleRuleSkipEntryPattern": {
      "properties": {
        "string": {
          "type": "string",
          "description": "Pattern strings.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "string"
          ]
        }
      }
    },
    "fortios:wanopt/ProfileCifs:ProfileCifs": {
      "properties": {
        "byteCaching": {
          "type": "string",
          "description": "Enable/disable byte-caching for HTTP. Byte caching reduces the amount of traffic by caching file data sent across the WAN and in future serving if from the cache. Valid values: `enable`, `disable`.\n"
        },
        "logTraffic": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Single port number or port number range for CIFS. Only packets with a destination port number that matches this port number or range are accepted by this profile.\n"
        },
        "preferChunking": {
          "type": "string",
          "description": "Select dynamic or fixed-size data chunking for HTTP WAN Optimization. Valid values: `dynamic`, `fix`.\n"
        },
        "protocolOpt": {
          "type": "string",
          "description": "Select Protocol specific optimitation or generic TCP optimization. Valid values: `protocol`, `tcp`.\n"
        },
        "secureTunnel": {
          "type": "string",
          "description": "Enable/disable securing the WAN Opt tunnel using SSL. Secure and non-secure tunnels use the same TCP port (7810). Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable HTTP WAN Optimization. Valid values: `enable`, `disable`.\n"
        },
        "tunnelSharing": {
          "type": "string",
          "description": "Tunnel sharing mode for aggressive/non-aggressive and/or interactive/non-interactive protocols. Valid values: `private`, `shared`, `express-shared`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "byteCaching",
            "logTraffic",
            "port",
            "preferChunking",
            "protocolOpt",
            "secureTunnel",
            "status",
            "tunnelSharing"
          ]
        }
      }
    },
    "fortios:wanopt/ProfileFtp:ProfileFtp": {
      "properties": {
        "byteCaching": {
          "type": "string",
          "description": "Enable/disable byte-caching for HTTP. Byte caching reduces the amount of traffic by caching file data sent across the WAN and in future serving if from the cache. Valid values: `enable`, `disable`.\n"
        },
        "logTraffic": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Single port number or port number range for FTP. Only packets with a destination port number that matches this port number or range are accepted by this profile.\n"
        },
        "preferChunking": {
          "type": "string",
          "description": "Select dynamic or fixed-size data chunking for HTTP WAN Optimization. Valid values: `dynamic`, `fix`.\n"
        },
        "protocolOpt": {
          "type": "string",
          "description": "Select Protocol specific optimitation or generic TCP optimization. Valid values: `protocol`, `tcp`.\n"
        },
        "secureTunnel": {
          "type": "string",
          "description": "Enable/disable securing the WAN Opt tunnel using SSL. Secure and non-secure tunnels use the same TCP port (7810). Valid values: `enable`, `disable`.\n"
        },
        "ssl": {
          "type": "string",
          "description": "Enable/disable SSL/TLS offloading (hardware acceleration) for traffic in this tunnel. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable HTTP WAN Optimization. Valid values: `enable`, `disable`.\n"
        },
        "tunnelSharing": {
          "type": "string",
          "description": "Tunnel sharing mode for aggressive/non-aggressive and/or interactive/non-interactive protocols. Valid values: `private`, `shared`, `express-shared`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "byteCaching",
            "logTraffic",
            "port",
            "preferChunking",
            "protocolOpt",
            "secureTunnel",
            "ssl",
            "status",
            "tunnelSharing"
          ]
        }
      }
    },
    "fortios:wanopt/ProfileHttp:ProfileHttp": {
      "properties": {
        "byteCaching": {
          "type": "string",
          "description": "Enable/disable byte-caching for HTTP. Byte caching reduces the amount of traffic by caching file data sent across the WAN and in future serving if from the cache. Valid values: `enable`, `disable`.\n"
        },
        "logTraffic": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Single port number or port number range for HTTP. Only packets with a destination port number that matches this port number or range are accepted by this profile.\n"
        },
        "preferChunking": {
          "type": "string",
          "description": "Select dynamic or fixed-size data chunking for HTTP WAN Optimization. Valid values: `dynamic`, `fix`.\n"
        },
        "protocolOpt": {
          "type": "string",
          "description": "Select Protocol specific optimitation or generic TCP optimization. Valid values: `protocol`, `tcp`.\n"
        },
        "secureTunnel": {
          "type": "string",
          "description": "Enable/disable securing the WAN Opt tunnel using SSL. Secure and non-secure tunnels use the same TCP port (7810). Valid values: `enable`, `disable`.\n"
        },
        "ssl": {
          "type": "string",
          "description": "Enable/disable SSL/TLS offloading (hardware acceleration) for traffic in this tunnel. Valid values: `enable`, `disable`.\n"
        },
        "sslPort": {
          "type": "integer",
          "description": "Port on which to expect HTTPS traffic for SSL/TLS offloading.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable HTTP WAN Optimization. Valid values: `enable`, `disable`.\n"
        },
        "tunnelNonHttp": {
          "type": "string",
          "description": "Configure how to process non-HTTP traffic when a profile configured for HTTP traffic accepts a non-HTTP session. Can occur if an application sends non-HTTP traffic using an HTTP destination port. Valid values: `enable`, `disable`.\n"
        },
        "tunnelSharing": {
          "type": "string",
          "description": "Tunnel sharing mode for aggressive/non-aggressive and/or interactive/non-interactive protocols. Valid values: `private`, `shared`, `express-shared`.\n"
        },
        "unknownHttpVersion": {
          "type": "string",
          "description": "How to handle HTTP sessions that do not comply with HTTP 0.9, 1.0, or 1.1. Valid values: `reject`, `tunnel`, `best-effort`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "byteCaching",
            "logTraffic",
            "port",
            "preferChunking",
            "protocolOpt",
            "secureTunnel",
            "ssl",
            "sslPort",
            "status",
            "tunnelNonHttp",
            "tunnelSharing",
            "unknownHttpVersion"
          ]
        }
      }
    },
    "fortios:wanopt/ProfileMapi:ProfileMapi": {
      "properties": {
        "byteCaching": {
          "type": "string",
          "description": "Enable/disable byte-caching for HTTP. Byte caching reduces the amount of traffic by caching file data sent across the WAN and in future serving if from the cache. Valid values: `enable`, `disable`.\n"
        },
        "logTraffic": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Single port number or port number range for MAPI. Only packets with a destination port number that matches this port number or range are accepted by this profile.\n"
        },
        "secureTunnel": {
          "type": "string",
          "description": "Enable/disable securing the WAN Opt tunnel using SSL. Secure and non-secure tunnels use the same TCP port (7810). Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable HTTP WAN Optimization. Valid values: `enable`, `disable`.\n"
        },
        "tunnelSharing": {
          "type": "string",
          "description": "Tunnel sharing mode for aggressive/non-aggressive and/or interactive/non-interactive protocols. Valid values: `private`, `shared`, `express-shared`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "byteCaching",
            "logTraffic",
            "port",
            "secureTunnel",
            "status",
            "tunnelSharing"
          ]
        }
      }
    },
    "fortios:wanopt/ProfileTcp:ProfileTcp": {
      "properties": {
        "byteCaching": {
          "type": "string",
          "description": "Enable/disable byte-caching for HTTP. Byte caching reduces the amount of traffic by caching file data sent across the WAN and in future serving if from the cache. Valid values: `enable`, `disable`.\n"
        },
        "byteCachingOpt": {
          "type": "string",
          "description": "Select whether TCP byte-caching uses system memory only or both memory and disk space. Valid values: `mem-only`, `mem-disk`.\n"
        },
        "logTraffic": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "string",
          "description": "Single port number or port number range for TCP. Only packets with a destination port number that matches this port number or range are accepted by this profile.\n"
        },
        "secureTunnel": {
          "type": "string",
          "description": "Enable/disable securing the WAN Opt tunnel using SSL. Secure and non-secure tunnels use the same TCP port (7810). Valid values: `enable`, `disable`.\n"
        },
        "ssl": {
          "type": "string",
          "description": "Enable/disable SSL/TLS offloading (hardware acceleration) for traffic in this tunnel. Valid values: `enable`, `disable`.\n"
        },
        "sslPort": {
          "type": "integer",
          "description": "Port on which to expect HTTPS traffic for SSL/TLS offloading.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable HTTP WAN Optimization. Valid values: `enable`, `disable`.\n"
        },
        "tunnelSharing": {
          "type": "string",
          "description": "Tunnel sharing mode for aggressive/non-aggressive and/or interactive/non-interactive protocols. Valid values: `private`, `shared`, `express-shared`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "byteCaching",
            "byteCachingOpt",
            "logTraffic",
            "port",
            "secureTunnel",
            "ssl",
            "sslPort",
            "status",
            "tunnelSharing"
          ]
        }
      }
    },
    "fortios:webproxy/ExplicitPacPolicy:ExplicitPacPolicy": {
      "properties": {
        "comments": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FExplicitPacPolicyDstaddr:ExplicitPacPolicyDstaddr"
          },
          "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n"
        },
        "pacFileData": {
          "type": "string",
          "description": "PAC file contents enclosed in quotes (maximum of 256K bytes).\n"
        },
        "pacFileName": {
          "type": "string",
          "description": "Pac file name.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FExplicitPacPolicySrcaddr6:ExplicitPacPolicySrcaddr6"
          },
          "description": "Source address6 objects. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FExplicitPacPolicySrcaddr:ExplicitPacPolicySrcaddr"
          },
          "description": "Source address objects. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable policy. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "pacFileData",
            "pacFileName",
            "policyid",
            "status"
          ]
        }
      }
    },
    "fortios:webproxy/ExplicitPacPolicyDstaddr:ExplicitPacPolicyDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:webproxy/ExplicitPacPolicySrcaddr6:ExplicitPacPolicySrcaddr6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:webproxy/ExplicitPacPolicySrcaddr:ExplicitPacPolicySrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:webproxy/ExplicitSecureWebProxyCert:ExplicitSecureWebProxyCert": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Certificate list.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:webproxy/ForwardservergroupServerList:ForwardservergroupServerList": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Forward server name.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Optionally assign a weight of the forwarding server for weighted load balancing (1 - 100, default = 10)\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "weight"
          ]
        }
      }
    },
    "fortios:webproxy/GlobalLearnClientIpSrcaddr6:GlobalLearnClientIpSrcaddr6": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:webproxy/GlobalLearnClientIpSrcaddr:GlobalLearnClientIpSrcaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:webproxy/ProfileHeader:ProfileHeader": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Action when the HTTP header is forwarded.\n"
        },
        "addOption": {
          "type": "string",
          "description": "Configure options to append content to existing HTTP header or add new HTTP header. Valid values: `append`, `new-on-not-found`, `new`.\n"
        },
        "base64Encoding": {
          "type": "string",
          "description": "Enable/disable use of base64 encoding of HTTP content. Valid values: `disable`, `enable`.\n"
        },
        "content": {
          "type": "string",
          "description": "HTTP header content.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FProfileHeaderDstaddr6:ProfileHeaderDstaddr6"
          },
          "description": "Destination address and address group names (IPv6). The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:webproxy%2FProfileHeaderDstaddr:ProfileHeaderDstaddr"
          },
          "description": "Destination address and address group names. The structure of `dstaddr` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "HTTP forwarded header id.\n"
        },
        "name": {
          "type": "string",
          "description": "HTTP forwarded header name.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Configure protocol(s) to take add-option action on (HTTP, HTTPS, or both). Valid values: `https`, `http`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "addOption",
            "base64Encoding",
            "content",
            "id",
            "name",
            "protocol"
          ]
        }
      }
    },
    "fortios:webproxy/ProfileHeaderDstaddr6:ProfileHeaderDstaddr6": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:webproxy/ProfileHeaderDstaddr:ProfileHeaderDstaddr": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Address name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/AccesscontrollistLayer3Ipv4Rule:AccesscontrollistLayer3Ipv4Rule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Policy action (allow | deny). Valid values: `allow`, `deny`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Description.\n"
        },
        "dstaddr": {
          "type": "string",
          "description": "Destination IPv6 address (any | local-LAN | IPv6 address[/prefix length]), default = any.\n"
        },
        "dstport": {
          "type": "integer",
          "description": "Destination port (0 - 65535, default = 0, meaning any).\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol type as defined by IANA (0 - 255, default = 255, meaning any).\n"
        },
        "ruleId": {
          "type": "integer",
          "description": "Rule ID (1 - 65535).\n"
        },
        "srcaddr": {
          "type": "string",
          "description": "Source IPv6 address (any | local-LAN | IPv6 address[/prefix length]), default = any.\n"
        },
        "srcport": {
          "type": "integer",
          "description": "Source port (0 - 65535, default = 0, meaning any).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "comment",
            "dstaddr",
            "dstport",
            "protocol",
            "ruleId",
            "srcaddr",
            "srcport"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/AccesscontrollistLayer3Ipv6Rule:AccesscontrollistLayer3Ipv6Rule": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Policy action (allow | deny). Valid values: `allow`, `deny`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Description.\n"
        },
        "dstaddr": {
          "type": "string",
          "description": "Destination IPv6 address (any | local-LAN | IPv6 address[/prefix length]), default = any.\n"
        },
        "dstport": {
          "type": "integer",
          "description": "Destination port (0 - 65535, default = 0, meaning any).\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Protocol type as defined by IANA (0 - 255, default = 255, meaning any).\n"
        },
        "ruleId": {
          "type": "integer",
          "description": "Rule ID (1 - 65535).\n"
        },
        "srcaddr": {
          "type": "string",
          "description": "Source IPv6 address (any | local-LAN | IPv6 address[/prefix length]), default = any.\n"
        },
        "srcport": {
          "type": "integer",
          "description": "Source port (0 - 65535, default = 0, meaning any).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "comment",
            "dstaddr",
            "dstport",
            "protocol",
            "ruleId",
            "srcaddr",
            "srcport"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/AddrgrpAddress:AddrgrpAddress": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Address ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/ApcfgprofileCommandList:ApcfgprofileCommandList": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Command ID.\n"
        },
        "name": {
          "type": "string",
          "description": "AP local configuration command name.\n"
        },
        "passwdValue": {
          "type": "string",
          "description": "AP local configuration command password value.\n",
          "secret": true
        },
        "type": {
          "type": "string",
          "description": "The command type (default = non-password). Valid values: `non-password`, `password`.\n"
        },
        "value": {
          "type": "string",
          "description": "AP local configuration command value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type",
            "value"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/ArrpprofileDarrpOptimizeSchedule:ArrpprofileDarrpOptimizeSchedule": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Schedule name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/BonjourprofilePolicyList:BonjourprofilePolicyList": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "fromVlan": {
          "type": "string",
          "description": "VLAN ID from which the Bonjour service is advertised (0 - 4094, default = 0).\n"
        },
        "policyId": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "services": {
          "type": "string",
          "description": "Bonjour services for the VLAN connecting to the Bonjour network.\n"
        },
        "toVlan": {
          "type": "string",
          "description": "VLAN ID to which the Bonjour service is made available (0 - 4094, default = all).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "fromVlan",
            "policyId",
            "services",
            "toVlan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/IntercontrollerInterControllerPeer:IntercontrollerInterControllerPeer": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "peerIp": {
          "type": "string",
          "description": "Peer wireless controller's IP address.\n"
        },
        "peerPort": {
          "type": "integer",
          "description": "Port used by the wireless controller's for inter-controller communications (1024 - 49150, default = 5246).\n"
        },
        "peerPriority": {
          "type": "string",
          "description": "Peer wireless controller's priority (primary or secondary, default = primary). Valid values: `primary`, `secondary`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "peerIp",
            "peerPort",
            "peerPriority"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/MpskprofileMpskGroup:MpskprofileMpskGroup": {
      "properties": {
        "mpskKeys": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FMpskprofileMpskGroupMpskKey:MpskprofileMpskGroupMpskKey"
          },
          "description": "List of multiple PSK entries. The structure of `mpsk_key` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "MPSK group name.\n"
        },
        "vlanId": {
          "type": "integer",
          "description": "Optional VLAN ID.\n"
        },
        "vlanType": {
          "type": "string",
          "description": "MPSK group VLAN options. Valid values: `no-vlan`, `fixed-vlan`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "vlanId",
            "vlanType"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/MpskprofileMpskGroupMpskKey:MpskprofileMpskGroupMpskKey": {
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "concurrentClientLimitType": {
          "type": "string",
          "description": "MPSK client limit type options. Valid values: `default`, `unlimited`, `specified`.\n"
        },
        "concurrentClients": {
          "type": "integer",
          "description": "Number of clients that can connect using this pre-shared key (1 - 65535, default is 256).\n"
        },
        "keyType": {
          "type": "string",
          "description": "Select the type of the key. Valid values: `wpa2-personal`, `wpa3-sae`.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address.\n"
        },
        "mpskSchedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FMpskprofileMpskGroupMpskKeyMpskSchedule:MpskprofileMpskGroupMpskKeyMpskSchedule"
          },
          "description": "Firewall schedule for MPSK passphrase. The passphrase will be effective only when at least one schedule is valid. The structure of `mpsk_schedules` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Pre-shared key name.\n"
        },
        "passphrase": {
          "type": "string",
          "description": "WPA Pre-shared key.\n",
          "secret": true
        },
        "saePassword": {
          "type": "string",
          "description": "WPA3 SAE password.\n"
        },
        "saePk": {
          "type": "string",
          "description": "Enable/disable WPA3 SAE-PK (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "saePrivateKey": {
          "type": "string",
          "description": "Private key used for WPA3 SAE-PK authentication.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "concurrentClientLimitType",
            "concurrentClients",
            "keyType",
            "mac",
            "name",
            "saePk",
            "saePrivateKey"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/MpskprofileMpskGroupMpskKeyMpskSchedule:MpskprofileMpskGroupMpskKeyMpskSchedule": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Schedule name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/QosprofileDscpWmmBe:QosprofileDscpWmmBe": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "DSCP WMM mapping numbers (0 - 63).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/QosprofileDscpWmmBk:QosprofileDscpWmmBk": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "DSCP WMM mapping numbers (0 - 63).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/QosprofileDscpWmmVi:QosprofileDscpWmmVi": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "DSCP WMM mapping numbers (0 - 63).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/QosprofileDscpWmmVo:QosprofileDscpWmmVo": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "DSCP WMM mapping numbers (0 - 63).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/SettingDarrpOptimizeSchedule:SettingDarrpOptimizeSchedule": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Schedule name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/SettingOffendingSsid:SettingOffendingSsid": {
      "properties": {
        "action": {
          "type": "string",
          "description": "Actions taken for detected offending SSID. Valid values: `log`, `suppress`.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "ssidPattern": {
          "type": "string",
          "description": "Define offending SSID pattern (case insensitive), eg: word, word*, *word, wo*rd.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "action",
            "id",
            "ssidPattern"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/SnmpCommunity:SnmpCommunity": {
      "properties": {
        "hosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FSnmpCommunityHost:SnmpCommunityHost"
          },
          "description": "Configure IPv4 SNMP managers (hosts). The structure of `hosts` block is documented below.\n"
        },
        "id": {
          "type": "integer",
          "description": "Community ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Community name.\n"
        },
        "queryV1Status": {
          "type": "string",
          "description": "Enable/disable SNMP v1 queries. Valid values: `enable`, `disable`.\n"
        },
        "queryV2cStatus": {
          "type": "string",
          "description": "Enable/disable SNMP v2c queries. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this SNMP community. Valid values: `enable`, `disable`.\n"
        },
        "trapV1Status": {
          "type": "string",
          "description": "Enable/disable SNMP v1 traps. Valid values: `enable`, `disable`.\n"
        },
        "trapV2cStatus": {
          "type": "string",
          "description": "Enable/disable SNMP v2c traps. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "queryV1Status",
            "queryV2cStatus",
            "status",
            "trapV1Status",
            "trapV2cStatus"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/SnmpCommunityHost:SnmpCommunityHost": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "Host entry ID.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the SNMP manager (host).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ip"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/SnmpUser:SnmpUser": {
      "properties": {
        "authProto": {
          "type": "string",
          "description": "Authentication protocol. Valid values: `md5`, `sha`.\n"
        },
        "authPwd": {
          "type": "string",
          "description": "Password for authentication protocol.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "SNMP User Name\n"
        },
        "notifyHosts": {
          "type": "string",
          "description": "Configure SNMP User Notify Hosts.\n"
        },
        "privProto": {
          "type": "string",
          "description": "Privacy (encryption) protocol. Valid values: `aes`, `des`, `aes256`, `aes256cisco`.\n"
        },
        "privPwd": {
          "type": "string",
          "description": "Password for privacy (encryption) protocol.\n",
          "secret": true
        },
        "queries": {
          "type": "string",
          "description": "Enable/disable SNMP queries for this user. Valid values: `enable`, `disable`.\n"
        },
        "securityLevel": {
          "type": "string",
          "description": "Security level for message authentication and encryption. Valid values: `no-auth-no-priv`, `auth-no-priv`, `auth-priv`.\n"
        },
        "status": {
          "type": "string",
          "description": "SNMP User Enable Valid values: `enable`, `disable`.\n"
        },
        "trapStatus": {
          "type": "string",
          "description": "Enable/disable traps for this SNMP user. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authProto",
            "name",
            "notifyHosts",
            "privProto",
            "queries",
            "securityLevel",
            "status",
            "trapStatus"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/TimersDarrpTime:TimersDarrpTime": {
      "properties": {
        "time": {
          "type": "string",
          "description": "Time.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "time"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/VapMacFilterList:VapMacFilterList": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address.\n"
        },
        "macFilterPolicy": {
          "type": "string",
          "description": "Deny or allow the client with this MAC address. Valid values: `allow`, `deny`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "mac",
            "macFilterPolicy"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/VapMpskKey:VapMpskKey": {
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "concurrentClients": {
          "type": "string",
          "description": "Number of clients that can connect using this pre-shared key.\n"
        },
        "keyName": {
          "type": "string",
          "description": "Pre-shared key name.\n"
        },
        "mpskSchedules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FVapMpskKeyMpskSchedule:VapMpskKeyMpskSchedule"
          },
          "description": "Firewall schedule for MPSK passphrase. The passphrase will be effective only when at least one schedule is valid. The structure of `mpsk_schedules` block is documented below.\n"
        },
        "passphrase": {
          "type": "string",
          "description": "WPA Pre-shared key.\n",
          "secret": true
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "concurrentClients",
            "keyName"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/VapMpskKeyMpskSchedule:VapMpskKeyMpskSchedule": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Schedule name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/VapPortalMessageOverrides:VapPortalMessageOverrides": {
      "properties": {
        "authDisclaimerPage": {
          "type": "string",
          "description": "Override auth-disclaimer-page message with message from portal-message-overrides group.\n"
        },
        "authLoginFailedPage": {
          "type": "string",
          "description": "Override auth-login-failed-page message with message from portal-message-overrides group.\n"
        },
        "authLoginPage": {
          "type": "string",
          "description": "Override auth-login-page message with message from portal-message-overrides group.\n"
        },
        "authRejectPage": {
          "type": "string",
          "description": "Override auth-reject-page message with message from portal-message-overrides group.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "authDisclaimerPage",
            "authLoginFailedPage",
            "authLoginPage",
            "authRejectPage"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/VapRadiusMacAuthUsergroup:VapRadiusMacAuthUsergroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/VapSelectedUsergroup:VapSelectedUsergroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/VapUsergroup:VapUsergroup": {
      "properties": {
        "name": {
          "type": "string",
          "description": "User group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/VapVlanName:VapVlanName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "VLAN name.\n"
        },
        "vlanId": {
          "type": "integer",
          "description": "VLAN ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "vlanId"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/VapVlanPool:VapVlanPool": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "wtpGroup": {
          "type": "string",
          "description": "WTP group name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "wtpGroup"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/VapgroupVap:VapgroupVap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "vap name\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WidsprofileApBgscanDisableSchedule:WidsprofileApBgscanDisableSchedule": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Schedule name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WidsprofileApScanChannelList2g5g:WidsprofileApScanChannelList2g5g": {
      "properties": {
        "chan": {
          "type": "string",
          "description": "Channel 6g number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WidsprofileApScanChannelList6g:WidsprofileApScanChannelList6g": {
      "properties": {
        "chan": {
          "type": "string",
          "description": "Channel 6g number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpLan:WtpLan": {
      "properties": {
        "port1Mode": {
          "type": "string",
          "description": "LAN port 1 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port1Ssid": {
          "type": "string",
          "description": "Bridge LAN port 1 to SSID.\n"
        },
        "port2Mode": {
          "type": "string",
          "description": "LAN port 2 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port2Ssid": {
          "type": "string",
          "description": "Bridge LAN port 2 to SSID.\n"
        },
        "port3Mode": {
          "type": "string",
          "description": "LAN port 3 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port3Ssid": {
          "type": "string",
          "description": "Bridge LAN port 3 to SSID.\n"
        },
        "port4Mode": {
          "type": "string",
          "description": "LAN port 4 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port4Ssid": {
          "type": "string",
          "description": "Bridge LAN port 4 to SSID.\n"
        },
        "port5Mode": {
          "type": "string",
          "description": "LAN port 5 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port5Ssid": {
          "type": "string",
          "description": "Bridge LAN port 5 to SSID.\n"
        },
        "port6Mode": {
          "type": "string",
          "description": "LAN port 6 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port6Ssid": {
          "type": "string",
          "description": "Bridge LAN port 6 to SSID.\n"
        },
        "port7Mode": {
          "type": "string",
          "description": "LAN port 7 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port7Ssid": {
          "type": "string",
          "description": "Bridge LAN port 7 to SSID.\n"
        },
        "port8Mode": {
          "type": "string",
          "description": "LAN port 8 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port8Ssid": {
          "type": "string",
          "description": "Bridge LAN port 8 to SSID.\n"
        },
        "portEslMode": {
          "type": "string",
          "description": "ESL port mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "portEslSsid": {
          "type": "string",
          "description": "Bridge ESL port to SSID.\n\nThe `radio_1` block supports:\n"
        },
        "portMode": {
          "type": "string",
          "description": "LAN port mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "portSsid": {
          "type": "string",
          "description": "Bridge LAN port to SSID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "port1Mode",
            "port1Ssid",
            "port2Mode",
            "port2Ssid",
            "port3Mode",
            "port3Ssid",
            "port4Mode",
            "port4Ssid",
            "port5Mode",
            "port5Ssid",
            "port6Mode",
            "port6Ssid",
            "port7Mode",
            "port7Ssid",
            "port8Mode",
            "port8Ssid",
            "portEslMode",
            "portEslSsid",
            "portMode",
            "portSsid"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio1:WtpRadio1": {
      "properties": {
        "autoPowerHigh": {
          "type": "integer"
        },
        "autoPowerLevel": {
          "type": "string"
        },
        "autoPowerLow": {
          "type": "integer"
        },
        "autoPowerTarget": {
          "type": "string"
        },
        "band": {
          "type": "string"
        },
        "channels": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio1Channel:WtpRadio1Channel"
          }
        },
        "drmaManualMode": {
          "type": "string"
        },
        "overrideAnalysis": {
          "type": "string"
        },
        "overrideBand": {
          "type": "string"
        },
        "overrideChannel": {
          "type": "string"
        },
        "overrideTxpower": {
          "type": "string"
        },
        "overrideVaps": {
          "type": "string"
        },
        "powerLevel": {
          "type": "integer"
        },
        "powerMode": {
          "type": "string"
        },
        "powerValue": {
          "type": "integer"
        },
        "radioId": {
          "type": "integer"
        },
        "spectrumAnalysis": {
          "type": "string"
        },
        "vapAll": {
          "type": "string"
        },
        "vaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio1Vap:WtpRadio1Vap"
          }
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoPowerHigh",
            "autoPowerLevel",
            "autoPowerLow",
            "autoPowerTarget",
            "band",
            "drmaManualMode",
            "overrideAnalysis",
            "overrideBand",
            "overrideChannel",
            "overrideTxpower",
            "overrideVaps",
            "powerLevel",
            "powerMode",
            "powerValue",
            "radioId",
            "spectrumAnalysis",
            "vapAll"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio1Channel:WtpRadio1Channel": {
      "properties": {
        "chan": {
          "type": "string",
          "description": "Channel number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio1Vap:WtpRadio1Vap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual Access Point (VAP) name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio2:WtpRadio2": {
      "properties": {
        "autoPowerHigh": {
          "type": "integer"
        },
        "autoPowerLevel": {
          "type": "string"
        },
        "autoPowerLow": {
          "type": "integer"
        },
        "autoPowerTarget": {
          "type": "string"
        },
        "band": {
          "type": "string"
        },
        "channels": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio2Channel:WtpRadio2Channel"
          }
        },
        "drmaManualMode": {
          "type": "string"
        },
        "overrideAnalysis": {
          "type": "string"
        },
        "overrideBand": {
          "type": "string"
        },
        "overrideChannel": {
          "type": "string"
        },
        "overrideTxpower": {
          "type": "string"
        },
        "overrideVaps": {
          "type": "string"
        },
        "powerLevel": {
          "type": "integer"
        },
        "powerMode": {
          "type": "string"
        },
        "powerValue": {
          "type": "integer"
        },
        "radioId": {
          "type": "integer"
        },
        "spectrumAnalysis": {
          "type": "string"
        },
        "vapAll": {
          "type": "string"
        },
        "vaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio2Vap:WtpRadio2Vap"
          }
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoPowerHigh",
            "autoPowerLevel",
            "autoPowerLow",
            "autoPowerTarget",
            "band",
            "drmaManualMode",
            "overrideAnalysis",
            "overrideBand",
            "overrideChannel",
            "overrideTxpower",
            "overrideVaps",
            "powerLevel",
            "powerMode",
            "powerValue",
            "radioId",
            "spectrumAnalysis",
            "vapAll"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio2Channel:WtpRadio2Channel": {
      "properties": {
        "chan": {
          "type": "string",
          "description": "Channel number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio2Vap:WtpRadio2Vap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual Access Point (VAP) name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio3:WtpRadio3": {
      "properties": {
        "autoPowerHigh": {
          "type": "integer"
        },
        "autoPowerLevel": {
          "type": "string"
        },
        "autoPowerLow": {
          "type": "integer"
        },
        "autoPowerTarget": {
          "type": "string"
        },
        "band": {
          "type": "string"
        },
        "channels": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio3Channel:WtpRadio3Channel"
          }
        },
        "drmaManualMode": {
          "type": "string"
        },
        "overrideAnalysis": {
          "type": "string"
        },
        "overrideBand": {
          "type": "string"
        },
        "overrideChannel": {
          "type": "string"
        },
        "overrideTxpower": {
          "type": "string"
        },
        "overrideVaps": {
          "type": "string"
        },
        "powerLevel": {
          "type": "integer"
        },
        "powerMode": {
          "type": "string"
        },
        "powerValue": {
          "type": "integer"
        },
        "spectrumAnalysis": {
          "type": "string"
        },
        "vapAll": {
          "type": "string"
        },
        "vaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio3Vap:WtpRadio3Vap"
          }
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoPowerHigh",
            "autoPowerLevel",
            "autoPowerLow",
            "autoPowerTarget",
            "band",
            "drmaManualMode",
            "overrideAnalysis",
            "overrideBand",
            "overrideChannel",
            "overrideTxpower",
            "overrideVaps",
            "powerLevel",
            "powerMode",
            "powerValue",
            "spectrumAnalysis",
            "vapAll"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio3Channel:WtpRadio3Channel": {
      "properties": {
        "chan": {
          "type": "string",
          "description": "Channel number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio3Vap:WtpRadio3Vap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual Access Point (VAP) name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio4:WtpRadio4": {
      "properties": {
        "autoPowerHigh": {
          "type": "integer"
        },
        "autoPowerLevel": {
          "type": "string"
        },
        "autoPowerLow": {
          "type": "integer"
        },
        "autoPowerTarget": {
          "type": "string"
        },
        "band": {
          "type": "string"
        },
        "channels": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio4Channel:WtpRadio4Channel"
          }
        },
        "drmaManualMode": {
          "type": "string"
        },
        "overrideAnalysis": {
          "type": "string"
        },
        "overrideBand": {
          "type": "string"
        },
        "overrideChannel": {
          "type": "string"
        },
        "overrideTxpower": {
          "type": "string"
        },
        "overrideVaps": {
          "type": "string"
        },
        "powerLevel": {
          "type": "integer"
        },
        "powerMode": {
          "type": "string"
        },
        "powerValue": {
          "type": "integer"
        },
        "spectrumAnalysis": {
          "type": "string"
        },
        "vapAll": {
          "type": "string"
        },
        "vaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpRadio4Vap:WtpRadio4Vap"
          }
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "autoPowerHigh",
            "autoPowerLevel",
            "autoPowerLow",
            "autoPowerTarget",
            "band",
            "drmaManualMode",
            "overrideAnalysis",
            "overrideBand",
            "overrideChannel",
            "overrideTxpower",
            "overrideVaps",
            "powerLevel",
            "powerMode",
            "powerValue",
            "spectrumAnalysis",
            "vapAll"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio4Channel:WtpRadio4Channel": {
      "properties": {
        "chan": {
          "type": "string",
          "description": "Channel number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpRadio4Vap:WtpRadio4Vap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual Access Point (VAP) name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpSplitTunnelingAcl:WtpSplitTunnelingAcl": {
      "properties": {
        "destIp": {
          "type": "string",
          "description": "Destination IP and mask for the split-tunneling subnet.\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "destIp",
            "id"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpgroupWtp:WtpgroupWtp": {
      "properties": {
        "wtpId": {
          "type": "string",
          "description": "WTP ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "wtpId"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileDenyMacList:WtpprofileDenyMacList": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "mac": {
          "type": "string",
          "description": "A WiFi device with this MAC address is denied access to this WTP, FortiAP or AP.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "mac"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileEslSesDongle:WtpprofileEslSesDongle": {
      "properties": {
        "apcAddrType": {
          "type": "string",
          "description": "ESL SES-imagotag APC address type (default = fqdn). Valid values: `fqdn`, `ip`.\n"
        },
        "apcFqdn": {
          "type": "string",
          "description": "FQDN of ESL SES-imagotag Access Point Controller (APC).\n"
        },
        "apcIp": {
          "type": "string",
          "description": "IP address of ESL SES-imagotag Access Point Controller (APC).\n"
        },
        "apcPort": {
          "type": "integer",
          "description": "Port of ESL SES-imagotag Access Point Controller (APC).\n"
        },
        "coexLevel": {
          "type": "string",
          "description": "ESL SES-imagotag dongle coexistence level (default = none). Valid values: `none`.\n"
        },
        "complianceLevel": {
          "type": "string",
          "description": "Compliance levels for the ESL solution integration (default = compliance-level-2). Valid values: `compliance-level-2`.\n"
        },
        "eslChannel": {
          "type": "string",
          "description": "ESL SES-imagotag dongle channel (default = 127). Valid values: `-1`, `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `127`.\n"
        },
        "outputPower": {
          "type": "string",
          "description": "ESL SES-imagotag dongle output power (default = A). Valid values: `a`, `b`, `c`, `d`, `e`, `f`, `g`, `h`.\n"
        },
        "scdEnable": {
          "type": "string",
          "description": "Enable/disable ESL SES-imagotag Serial Communication Daemon (SCD) (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "tlsCertVerification": {
          "type": "string",
          "description": "Enable/disable TLS Certificate verification. (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "tlsFqdnVerification": {
          "type": "string",
          "description": "Enable/disable TLS Certificate verification. (default = disable). Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "apcAddrType",
            "apcFqdn",
            "apcIp",
            "apcPort",
            "coexLevel",
            "complianceLevel",
            "eslChannel",
            "outputPower",
            "scdEnable",
            "tlsCertVerification",
            "tlsFqdnVerification"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileLan:WtpprofileLan": {
      "properties": {
        "port1Mode": {
          "type": "string",
          "description": "LAN port 1 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port1Ssid": {
          "type": "string",
          "description": "Bridge LAN port 1 to SSID.\n"
        },
        "port2Mode": {
          "type": "string",
          "description": "LAN port 2 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port2Ssid": {
          "type": "string",
          "description": "Bridge LAN port 2 to SSID.\n"
        },
        "port3Mode": {
          "type": "string",
          "description": "LAN port 3 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port3Ssid": {
          "type": "string",
          "description": "Bridge LAN port 3 to SSID.\n"
        },
        "port4Mode": {
          "type": "string",
          "description": "LAN port 4 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port4Ssid": {
          "type": "string",
          "description": "Bridge LAN port 4 to SSID.\n"
        },
        "port5Mode": {
          "type": "string",
          "description": "LAN port 5 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port5Ssid": {
          "type": "string",
          "description": "Bridge LAN port 5 to SSID.\n"
        },
        "port6Mode": {
          "type": "string",
          "description": "LAN port 6 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port6Ssid": {
          "type": "string",
          "description": "Bridge LAN port 6 to SSID.\n"
        },
        "port7Mode": {
          "type": "string",
          "description": "LAN port 7 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port7Ssid": {
          "type": "string",
          "description": "Bridge LAN port 7 to SSID.\n"
        },
        "port8Mode": {
          "type": "string",
          "description": "LAN port 8 mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "port8Ssid": {
          "type": "string",
          "description": "Bridge LAN port 8 to SSID.\n"
        },
        "portEslMode": {
          "type": "string",
          "description": "ESL port mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "portEslSsid": {
          "type": "string",
          "description": "Bridge ESL port to SSID.\n"
        },
        "portMode": {
          "type": "string",
          "description": "LAN port mode. Valid values: `offline`, `nat-to-wan`, `bridge-to-wan`, `bridge-to-ssid`.\n"
        },
        "portSsid": {
          "type": "string",
          "description": "Bridge LAN port to SSID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "port1Mode",
            "port1Ssid",
            "port2Mode",
            "port2Ssid",
            "port3Mode",
            "port3Ssid",
            "port4Mode",
            "port4Ssid",
            "port5Mode",
            "port5Ssid",
            "port6Mode",
            "port6Ssid",
            "port7Mode",
            "port7Ssid",
            "port8Mode",
            "port8Ssid",
            "portEslMode",
            "portEslSsid",
            "portMode",
            "portSsid"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileLbs:WtpprofileLbs": {
      "properties": {
        "aeroscout": {
          "type": "string",
          "description": "Enable/disable AeroScout Real Time Location Service (RTLS) support. Valid values: `enable`, `disable`.\n"
        },
        "aeroscoutApMac": {
          "type": "string",
          "description": "Use BSSID or board MAC address as AP MAC address in AeroScout AP messages (default = bssid). Valid values: `bssid`, `board-mac`.\n"
        },
        "aeroscoutMmuReport": {
          "type": "string",
          "description": "Enable/disable compounded AeroScout tag and MU report (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "aeroscoutMu": {
          "type": "string",
          "description": "Enable/disable AeroScout Mobile Unit (MU) support (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "aeroscoutMuFactor": {
          "type": "integer",
          "description": "eroScout MU mode dilution factor (default = 20).\n"
        },
        "aeroscoutMuTimeout": {
          "type": "integer",
          "description": "AeroScout MU mode timeout (0 - 65535 sec, default = 5).\n"
        },
        "aeroscoutServerIp": {
          "type": "string",
          "description": "IP address of AeroScout server.\n"
        },
        "aeroscoutServerPort": {
          "type": "integer",
          "description": "AeroScout server UDP listening port.\n"
        },
        "ekahauBlinkMode": {
          "type": "string",
          "description": "Enable/disable Ekahau blink mode (now known as AiRISTA Flow) to track and locate WiFi tags (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "ekahauTag": {
          "type": "string",
          "description": "WiFi frame MAC address or WiFi Tag.\n"
        },
        "ercServerIp": {
          "type": "string",
          "description": "IP address of Ekahau RTLS Controller (ERC).\n"
        },
        "ercServerPort": {
          "type": "integer",
          "description": "Ekahau RTLS Controller (ERC) UDP listening port.\n"
        },
        "fortipresence": {
          "type": "string",
          "description": "Enable/disable FortiPresence to monitor the location and activity of WiFi clients even if they don't connect to this WiFi network (default = disable). Valid values: `foreign`, `both`, `disable`.\n"
        },
        "fortipresenceBle": {
          "type": "string",
          "description": "Enable/disable FortiPresence finding and reporting BLE devices. Valid values: `enable`, `disable`.\n"
        },
        "fortipresenceFrequency": {
          "type": "integer",
          "description": "FortiPresence report transmit frequency (5 - 65535 sec, default = 30).\n"
        },
        "fortipresencePort": {
          "type": "integer",
          "description": "UDP listening port of FortiPresence server (default = 3000).\n"
        },
        "fortipresenceProject": {
          "type": "string",
          "description": "FortiPresence project name (max. 16 characters, default = fortipresence).\n"
        },
        "fortipresenceRogue": {
          "type": "string",
          "description": "Enable/disable FortiPresence finding and reporting rogue APs. Valid values: `enable`, `disable`.\n"
        },
        "fortipresenceSecret": {
          "type": "string",
          "description": "FortiPresence secret password (max. 16 characters).\n",
          "secret": true
        },
        "fortipresenceServer": {
          "type": "string",
          "description": "FortiPresence server IP address.\n"
        },
        "fortipresenceServerAddrType": {
          "type": "string",
          "description": "FortiPresence server address type (default = ipv4). Valid values: `ipv4`, `fqdn`.\n"
        },
        "fortipresenceServerFqdn": {
          "type": "string",
          "description": "FQDN of FortiPresence server.\n"
        },
        "fortipresenceUnassoc": {
          "type": "string",
          "description": "Enable/disable FortiPresence finding and reporting unassociated stations. Valid values: `enable`, `disable`.\n"
        },
        "polestar": {
          "type": "string",
          "description": "Enable/disable PoleStar BLE NAO Track Real Time Location Service (RTLS) support (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "polestarAccumulationInterval": {
          "type": "integer",
          "description": "Time that measurements should be accumulated in seconds (default = 2).\n"
        },
        "polestarAssetAddrgrpList": {
          "type": "string",
          "description": "Tags and asset addrgrp list to be reported.\n"
        },
        "polestarAssetUuidList1": {
          "type": "string",
          "description": "Tags and asset UUID list 1 to be reported (string in the format of 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX').\n"
        },
        "polestarAssetUuidList2": {
          "type": "string",
          "description": "Tags and asset UUID list 2 to be reported (string in the format of 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX').\n"
        },
        "polestarAssetUuidList3": {
          "type": "string",
          "description": "Tags and asset UUID list 3 to be reported (string in the format of 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX').\n"
        },
        "polestarAssetUuidList4": {
          "type": "string",
          "description": "Tags and asset UUID list 4 to be reported (string in the format of 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX').\n"
        },
        "polestarProtocol": {
          "type": "string",
          "description": "Select the protocol to report Measurements, Advertising Data, or Location Data to NAO Cloud. (default = WSS). Valid values: `WSS`.\n"
        },
        "polestarReportingInterval": {
          "type": "integer",
          "description": "Time between reporting accumulated measurements in seconds (default = 2).\n"
        },
        "polestarServerFqdn": {
          "type": "string",
          "description": "FQDN of PoleStar Nao Track Server (default = ws.nao-cloud.com).\n"
        },
        "polestarServerPath": {
          "type": "string",
          "description": "Path of PoleStar Nao Track Server (default = /v1/token/<access_token>/pst-v2).\n"
        },
        "polestarServerPort": {
          "type": "integer",
          "description": "Port of PoleStar Nao Track Server (default = 443).\n"
        },
        "polestarServerToken": {
          "type": "string",
          "description": "Access Token of PoleStar Nao Track Server.\n"
        },
        "stationLocate": {
          "type": "string",
          "description": "Enable/disable client station locating services for all clients, whether associated or not (default = disable). Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "aeroscout",
            "aeroscoutApMac",
            "aeroscoutMmuReport",
            "aeroscoutMu",
            "aeroscoutMuFactor",
            "aeroscoutMuTimeout",
            "aeroscoutServerIp",
            "aeroscoutServerPort",
            "ekahauBlinkMode",
            "ekahauTag",
            "ercServerIp",
            "ercServerPort",
            "fortipresence",
            "fortipresenceBle",
            "fortipresenceFrequency",
            "fortipresencePort",
            "fortipresenceProject",
            "fortipresenceRogue",
            "fortipresenceServer",
            "fortipresenceServerAddrType",
            "fortipresenceServerFqdn",
            "fortipresenceUnassoc",
            "polestar",
            "polestarAccumulationInterval",
            "polestarAssetAddrgrpList",
            "polestarAssetUuidList1",
            "polestarAssetUuidList2",
            "polestarAssetUuidList3",
            "polestarAssetUuidList4",
            "polestarProtocol",
            "polestarReportingInterval",
            "polestarServerFqdn",
            "polestarServerPath",
            "polestarServerPort",
            "polestarServerToken",
            "stationLocate"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileLedSchedule:WtpprofileLedSchedule": {
      "properties": {
        "name": {
          "type": "string",
          "description": "LED schedule name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofilePlatform:WtpprofilePlatform": {
      "properties": {
        "ddscan": {
          "type": "string",
          "description": "Enable/disable use of one radio for dedicated dual-band scanning to detect RF characterization and wireless threat management. Valid values: `enable`, `disable`.\n"
        },
        "mode": {
          "type": "string",
          "description": "Configure operation mode of 5G radios (default = single-5G). Valid values: `single-5G`, `dual-5G`.\n"
        },
        "type": {
          "type": "string",
          "description": "WTP, FortiAP or AP platform type. There are built-in WTP profiles for all supported FortiAP models. You can select a built-in profile and customize it or create a new profile.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "ddscan",
            "mode",
            "type"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio1:WtpprofileRadio1": {
      "properties": {
        "airtimeFairness": {
          "type": "string"
        },
        "amsdu": {
          "type": "string"
        },
        "apHandoff": {
          "type": "string",
          "description": "Enable/disable AP handoff of clients to other APs (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apSnifferAddr": {
          "type": "string"
        },
        "apSnifferBufsize": {
          "type": "integer"
        },
        "apSnifferChan": {
          "type": "integer"
        },
        "apSnifferCtl": {
          "type": "string"
        },
        "apSnifferData": {
          "type": "string"
        },
        "apSnifferMgmtBeacon": {
          "type": "string"
        },
        "apSnifferMgmtOther": {
          "type": "string"
        },
        "apSnifferMgmtProbe": {
          "type": "string"
        },
        "arrpProfile": {
          "type": "string"
        },
        "autoPowerHigh": {
          "type": "integer"
        },
        "autoPowerLevel": {
          "type": "string"
        },
        "autoPowerLow": {
          "type": "integer"
        },
        "autoPowerTarget": {
          "type": "string"
        },
        "band": {
          "type": "string"
        },
        "band5gType": {
          "type": "string"
        },
        "bandwidthAdmissionControl": {
          "type": "string"
        },
        "bandwidthCapacity": {
          "type": "integer"
        },
        "beaconInterval": {
          "type": "integer"
        },
        "bssColor": {
          "type": "integer"
        },
        "bssColorMode": {
          "type": "string"
        },
        "callAdmissionControl": {
          "type": "string"
        },
        "callCapacity": {
          "type": "integer"
        },
        "channelBonding": {
          "type": "string"
        },
        "channelBondingExt": {
          "type": "string"
        },
        "channelUtilization": {
          "type": "string"
        },
        "channels": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio1Channel:WtpprofileRadio1Channel"
          }
        },
        "coexistence": {
          "type": "string"
        },
        "darrp": {
          "type": "string"
        },
        "drma": {
          "type": "string"
        },
        "drmaSensitivity": {
          "type": "string"
        },
        "dtim": {
          "type": "integer"
        },
        "fragThreshold": {
          "type": "integer"
        },
        "frequencyHandoff": {
          "type": "string",
          "description": "Enable/disable frequency handoff of clients to other channels (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "iperfProtocol": {
          "type": "string"
        },
        "iperfServerPort": {
          "type": "integer"
        },
        "maxClients": {
          "type": "integer",
          "description": "Maximum number of stations (STAs) supported by the WTP (default = 0, meaning no client limitation).\n"
        },
        "maxDistance": {
          "type": "integer"
        },
        "mimoMode": {
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "n80211d": {
          "type": "string"
        },
        "optionalAntenna": {
          "type": "string"
        },
        "optionalAntennaGain": {
          "type": "string"
        },
        "powerLevel": {
          "type": "integer"
        },
        "powerMode": {
          "type": "string"
        },
        "powerValue": {
          "type": "integer"
        },
        "powersaveOptimize": {
          "type": "string"
        },
        "protectionMode": {
          "type": "string"
        },
        "radioId": {
          "type": "integer"
        },
        "rtsThreshold": {
          "type": "integer"
        },
        "samBssid": {
          "type": "string"
        },
        "samCaCertificate": {
          "type": "string"
        },
        "samCaptivePortal": {
          "type": "string"
        },
        "samClientCertificate": {
          "type": "string"
        },
        "samCwpFailureString": {
          "type": "string"
        },
        "samCwpMatchString": {
          "type": "string"
        },
        "samCwpPassword": {
          "type": "string"
        },
        "samCwpSuccessString": {
          "type": "string"
        },
        "samCwpTestUrl": {
          "type": "string"
        },
        "samCwpUsername": {
          "type": "string"
        },
        "samEapMethod": {
          "type": "string"
        },
        "samPassword": {
          "type": "string"
        },
        "samPrivateKey": {
          "type": "string"
        },
        "samPrivateKeyPassword": {
          "type": "string"
        },
        "samReportIntv": {
          "type": "integer"
        },
        "samSecurityType": {
          "type": "string"
        },
        "samServerFqdn": {
          "type": "string"
        },
        "samServerIp": {
          "type": "string"
        },
        "samServerType": {
          "type": "string"
        },
        "samSsid": {
          "type": "string"
        },
        "samTest": {
          "type": "string"
        },
        "samUsername": {
          "type": "string"
        },
        "shortGuardInterval": {
          "type": "string"
        },
        "spectrumAnalysis": {
          "type": "string"
        },
        "transmitOptimize": {
          "type": "string"
        },
        "vapAll": {
          "type": "string"
        },
        "vaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio1Vap:WtpprofileRadio1Vap"
          }
        },
        "widsProfile": {
          "type": "string"
        },
        "zeroWaitDfs": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "airtimeFairness",
            "amsdu",
            "apHandoff",
            "apSnifferAddr",
            "apSnifferBufsize",
            "apSnifferChan",
            "apSnifferCtl",
            "apSnifferData",
            "apSnifferMgmtBeacon",
            "apSnifferMgmtOther",
            "apSnifferMgmtProbe",
            "arrpProfile",
            "autoPowerHigh",
            "autoPowerLevel",
            "autoPowerLow",
            "autoPowerTarget",
            "band",
            "band5gType",
            "bandwidthAdmissionControl",
            "bandwidthCapacity",
            "beaconInterval",
            "bssColor",
            "bssColorMode",
            "callAdmissionControl",
            "callCapacity",
            "channelBonding",
            "channelBondingExt",
            "channelUtilization",
            "coexistence",
            "darrp",
            "drma",
            "drmaSensitivity",
            "dtim",
            "fragThreshold",
            "frequencyHandoff",
            "iperfProtocol",
            "iperfServerPort",
            "maxClients",
            "maxDistance",
            "mimoMode",
            "mode",
            "n80211d",
            "optionalAntenna",
            "optionalAntennaGain",
            "powerLevel",
            "powerMode",
            "powerValue",
            "powersaveOptimize",
            "protectionMode",
            "radioId",
            "rtsThreshold",
            "samBssid",
            "samCaCertificate",
            "samCaptivePortal",
            "samClientCertificate",
            "samCwpFailureString",
            "samCwpMatchString",
            "samCwpSuccessString",
            "samCwpTestUrl",
            "samCwpUsername",
            "samEapMethod",
            "samPrivateKey",
            "samReportIntv",
            "samSecurityType",
            "samServerFqdn",
            "samServerIp",
            "samServerType",
            "samSsid",
            "samTest",
            "samUsername",
            "shortGuardInterval",
            "spectrumAnalysis",
            "transmitOptimize",
            "vapAll",
            "widsProfile",
            "zeroWaitDfs"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio1Channel:WtpprofileRadio1Channel": {
      "properties": {
        "chan": {
          "type": "string",
          "description": "Channel number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio1Vap:WtpprofileRadio1Vap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual Access Point (VAP) name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio2:WtpprofileRadio2": {
      "properties": {
        "airtimeFairness": {
          "type": "string"
        },
        "amsdu": {
          "type": "string"
        },
        "apHandoff": {
          "type": "string",
          "description": "Enable/disable AP handoff of clients to other APs (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apSnifferAddr": {
          "type": "string"
        },
        "apSnifferBufsize": {
          "type": "integer"
        },
        "apSnifferChan": {
          "type": "integer"
        },
        "apSnifferCtl": {
          "type": "string"
        },
        "apSnifferData": {
          "type": "string"
        },
        "apSnifferMgmtBeacon": {
          "type": "string"
        },
        "apSnifferMgmtOther": {
          "type": "string"
        },
        "apSnifferMgmtProbe": {
          "type": "string"
        },
        "arrpProfile": {
          "type": "string"
        },
        "autoPowerHigh": {
          "type": "integer"
        },
        "autoPowerLevel": {
          "type": "string"
        },
        "autoPowerLow": {
          "type": "integer"
        },
        "autoPowerTarget": {
          "type": "string"
        },
        "band": {
          "type": "string"
        },
        "band5gType": {
          "type": "string"
        },
        "bandwidthAdmissionControl": {
          "type": "string"
        },
        "bandwidthCapacity": {
          "type": "integer"
        },
        "beaconInterval": {
          "type": "integer"
        },
        "bssColor": {
          "type": "integer"
        },
        "bssColorMode": {
          "type": "string"
        },
        "callAdmissionControl": {
          "type": "string"
        },
        "callCapacity": {
          "type": "integer"
        },
        "channelBonding": {
          "type": "string"
        },
        "channelBondingExt": {
          "type": "string"
        },
        "channelUtilization": {
          "type": "string"
        },
        "channels": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio2Channel:WtpprofileRadio2Channel"
          }
        },
        "coexistence": {
          "type": "string"
        },
        "darrp": {
          "type": "string"
        },
        "drma": {
          "type": "string"
        },
        "drmaSensitivity": {
          "type": "string"
        },
        "dtim": {
          "type": "integer"
        },
        "fragThreshold": {
          "type": "integer"
        },
        "frequencyHandoff": {
          "type": "string",
          "description": "Enable/disable frequency handoff of clients to other channels (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "iperfProtocol": {
          "type": "string"
        },
        "iperfServerPort": {
          "type": "integer"
        },
        "maxClients": {
          "type": "integer",
          "description": "Maximum number of stations (STAs) supported by the WTP (default = 0, meaning no client limitation).\n"
        },
        "maxDistance": {
          "type": "integer"
        },
        "mimoMode": {
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "n80211d": {
          "type": "string"
        },
        "optionalAntenna": {
          "type": "string"
        },
        "optionalAntennaGain": {
          "type": "string"
        },
        "powerLevel": {
          "type": "integer"
        },
        "powerMode": {
          "type": "string"
        },
        "powerValue": {
          "type": "integer"
        },
        "powersaveOptimize": {
          "type": "string"
        },
        "protectionMode": {
          "type": "string"
        },
        "radioId": {
          "type": "integer"
        },
        "rtsThreshold": {
          "type": "integer"
        },
        "samBssid": {
          "type": "string"
        },
        "samCaCertificate": {
          "type": "string"
        },
        "samCaptivePortal": {
          "type": "string"
        },
        "samClientCertificate": {
          "type": "string"
        },
        "samCwpFailureString": {
          "type": "string"
        },
        "samCwpMatchString": {
          "type": "string"
        },
        "samCwpPassword": {
          "type": "string"
        },
        "samCwpSuccessString": {
          "type": "string"
        },
        "samCwpTestUrl": {
          "type": "string"
        },
        "samCwpUsername": {
          "type": "string"
        },
        "samEapMethod": {
          "type": "string"
        },
        "samPassword": {
          "type": "string"
        },
        "samPrivateKey": {
          "type": "string"
        },
        "samPrivateKeyPassword": {
          "type": "string"
        },
        "samReportIntv": {
          "type": "integer"
        },
        "samSecurityType": {
          "type": "string"
        },
        "samServerFqdn": {
          "type": "string"
        },
        "samServerIp": {
          "type": "string"
        },
        "samServerType": {
          "type": "string"
        },
        "samSsid": {
          "type": "string"
        },
        "samTest": {
          "type": "string"
        },
        "samUsername": {
          "type": "string"
        },
        "shortGuardInterval": {
          "type": "string"
        },
        "spectrumAnalysis": {
          "type": "string"
        },
        "transmitOptimize": {
          "type": "string"
        },
        "vapAll": {
          "type": "string"
        },
        "vaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio2Vap:WtpprofileRadio2Vap"
          }
        },
        "widsProfile": {
          "type": "string"
        },
        "zeroWaitDfs": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "airtimeFairness",
            "amsdu",
            "apHandoff",
            "apSnifferAddr",
            "apSnifferBufsize",
            "apSnifferChan",
            "apSnifferCtl",
            "apSnifferData",
            "apSnifferMgmtBeacon",
            "apSnifferMgmtOther",
            "apSnifferMgmtProbe",
            "arrpProfile",
            "autoPowerHigh",
            "autoPowerLevel",
            "autoPowerLow",
            "autoPowerTarget",
            "band",
            "band5gType",
            "bandwidthAdmissionControl",
            "bandwidthCapacity",
            "beaconInterval",
            "bssColor",
            "bssColorMode",
            "callAdmissionControl",
            "callCapacity",
            "channelBonding",
            "channelBondingExt",
            "channelUtilization",
            "coexistence",
            "darrp",
            "drma",
            "drmaSensitivity",
            "dtim",
            "fragThreshold",
            "frequencyHandoff",
            "iperfProtocol",
            "iperfServerPort",
            "maxClients",
            "maxDistance",
            "mimoMode",
            "mode",
            "n80211d",
            "optionalAntenna",
            "optionalAntennaGain",
            "powerLevel",
            "powerMode",
            "powerValue",
            "powersaveOptimize",
            "protectionMode",
            "radioId",
            "rtsThreshold",
            "samBssid",
            "samCaCertificate",
            "samCaptivePortal",
            "samClientCertificate",
            "samCwpFailureString",
            "samCwpMatchString",
            "samCwpSuccessString",
            "samCwpTestUrl",
            "samCwpUsername",
            "samEapMethod",
            "samPrivateKey",
            "samReportIntv",
            "samSecurityType",
            "samServerFqdn",
            "samServerIp",
            "samServerType",
            "samSsid",
            "samTest",
            "samUsername",
            "shortGuardInterval",
            "spectrumAnalysis",
            "transmitOptimize",
            "vapAll",
            "widsProfile",
            "zeroWaitDfs"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio2Channel:WtpprofileRadio2Channel": {
      "properties": {
        "chan": {
          "type": "string",
          "description": "Channel number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio2Vap:WtpprofileRadio2Vap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual Access Point (VAP) name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio3:WtpprofileRadio3": {
      "properties": {
        "airtimeFairness": {
          "type": "string"
        },
        "amsdu": {
          "type": "string"
        },
        "apHandoff": {
          "type": "string",
          "description": "Enable/disable AP handoff of clients to other APs (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apSnifferAddr": {
          "type": "string"
        },
        "apSnifferBufsize": {
          "type": "integer"
        },
        "apSnifferChan": {
          "type": "integer"
        },
        "apSnifferCtl": {
          "type": "string"
        },
        "apSnifferData": {
          "type": "string"
        },
        "apSnifferMgmtBeacon": {
          "type": "string"
        },
        "apSnifferMgmtOther": {
          "type": "string"
        },
        "apSnifferMgmtProbe": {
          "type": "string"
        },
        "arrpProfile": {
          "type": "string"
        },
        "autoPowerHigh": {
          "type": "integer"
        },
        "autoPowerLevel": {
          "type": "string"
        },
        "autoPowerLow": {
          "type": "integer"
        },
        "autoPowerTarget": {
          "type": "string"
        },
        "band": {
          "type": "string"
        },
        "band5gType": {
          "type": "string"
        },
        "bandwidthAdmissionControl": {
          "type": "string"
        },
        "bandwidthCapacity": {
          "type": "integer"
        },
        "beaconInterval": {
          "type": "integer"
        },
        "bssColor": {
          "type": "integer"
        },
        "bssColorMode": {
          "type": "string"
        },
        "callAdmissionControl": {
          "type": "string"
        },
        "callCapacity": {
          "type": "integer"
        },
        "channelBonding": {
          "type": "string"
        },
        "channelBondingExt": {
          "type": "string"
        },
        "channelUtilization": {
          "type": "string"
        },
        "channels": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio3Channel:WtpprofileRadio3Channel"
          }
        },
        "coexistence": {
          "type": "string"
        },
        "darrp": {
          "type": "string"
        },
        "drma": {
          "type": "string"
        },
        "drmaSensitivity": {
          "type": "string"
        },
        "dtim": {
          "type": "integer"
        },
        "fragThreshold": {
          "type": "integer"
        },
        "frequencyHandoff": {
          "type": "string",
          "description": "Enable/disable frequency handoff of clients to other channels (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "iperfProtocol": {
          "type": "string"
        },
        "iperfServerPort": {
          "type": "integer"
        },
        "maxClients": {
          "type": "integer",
          "description": "Maximum number of stations (STAs) supported by the WTP (default = 0, meaning no client limitation).\n"
        },
        "maxDistance": {
          "type": "integer"
        },
        "mimoMode": {
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "n80211d": {
          "type": "string"
        },
        "optionalAntenna": {
          "type": "string"
        },
        "optionalAntennaGain": {
          "type": "string"
        },
        "powerLevel": {
          "type": "integer"
        },
        "powerMode": {
          "type": "string"
        },
        "powerValue": {
          "type": "integer"
        },
        "powersaveOptimize": {
          "type": "string"
        },
        "protectionMode": {
          "type": "string"
        },
        "rtsThreshold": {
          "type": "integer"
        },
        "samBssid": {
          "type": "string"
        },
        "samCaCertificate": {
          "type": "string"
        },
        "samCaptivePortal": {
          "type": "string"
        },
        "samClientCertificate": {
          "type": "string"
        },
        "samCwpFailureString": {
          "type": "string"
        },
        "samCwpMatchString": {
          "type": "string"
        },
        "samCwpPassword": {
          "type": "string"
        },
        "samCwpSuccessString": {
          "type": "string"
        },
        "samCwpTestUrl": {
          "type": "string"
        },
        "samCwpUsername": {
          "type": "string"
        },
        "samEapMethod": {
          "type": "string"
        },
        "samPassword": {
          "type": "string"
        },
        "samPrivateKey": {
          "type": "string"
        },
        "samPrivateKeyPassword": {
          "type": "string"
        },
        "samReportIntv": {
          "type": "integer"
        },
        "samSecurityType": {
          "type": "string"
        },
        "samServerFqdn": {
          "type": "string"
        },
        "samServerIp": {
          "type": "string"
        },
        "samServerType": {
          "type": "string"
        },
        "samSsid": {
          "type": "string"
        },
        "samTest": {
          "type": "string"
        },
        "samUsername": {
          "type": "string"
        },
        "shortGuardInterval": {
          "type": "string"
        },
        "spectrumAnalysis": {
          "type": "string"
        },
        "transmitOptimize": {
          "type": "string"
        },
        "vapAll": {
          "type": "string"
        },
        "vaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio3Vap:WtpprofileRadio3Vap"
          }
        },
        "widsProfile": {
          "type": "string"
        },
        "zeroWaitDfs": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "airtimeFairness",
            "amsdu",
            "apHandoff",
            "apSnifferAddr",
            "apSnifferBufsize",
            "apSnifferChan",
            "apSnifferCtl",
            "apSnifferData",
            "apSnifferMgmtBeacon",
            "apSnifferMgmtOther",
            "apSnifferMgmtProbe",
            "arrpProfile",
            "autoPowerHigh",
            "autoPowerLevel",
            "autoPowerLow",
            "autoPowerTarget",
            "band",
            "band5gType",
            "bandwidthAdmissionControl",
            "bandwidthCapacity",
            "beaconInterval",
            "bssColor",
            "bssColorMode",
            "callAdmissionControl",
            "callCapacity",
            "channelBonding",
            "channelBondingExt",
            "channelUtilization",
            "coexistence",
            "darrp",
            "drma",
            "drmaSensitivity",
            "dtim",
            "fragThreshold",
            "frequencyHandoff",
            "iperfProtocol",
            "iperfServerPort",
            "maxClients",
            "maxDistance",
            "mimoMode",
            "mode",
            "n80211d",
            "optionalAntenna",
            "optionalAntennaGain",
            "powerLevel",
            "powerMode",
            "powerValue",
            "powersaveOptimize",
            "protectionMode",
            "rtsThreshold",
            "samBssid",
            "samCaCertificate",
            "samCaptivePortal",
            "samClientCertificate",
            "samCwpFailureString",
            "samCwpMatchString",
            "samCwpSuccessString",
            "samCwpTestUrl",
            "samCwpUsername",
            "samEapMethod",
            "samPrivateKey",
            "samReportIntv",
            "samSecurityType",
            "samServerFqdn",
            "samServerIp",
            "samServerType",
            "samSsid",
            "samTest",
            "samUsername",
            "shortGuardInterval",
            "spectrumAnalysis",
            "transmitOptimize",
            "vapAll",
            "widsProfile",
            "zeroWaitDfs"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio3Channel:WtpprofileRadio3Channel": {
      "properties": {
        "chan": {
          "type": "string",
          "description": "Channel number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio3Vap:WtpprofileRadio3Vap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual Access Point (VAP) name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio4:WtpprofileRadio4": {
      "properties": {
        "airtimeFairness": {
          "type": "string"
        },
        "amsdu": {
          "type": "string"
        },
        "apHandoff": {
          "type": "string",
          "description": "Enable/disable AP handoff of clients to other APs (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "apSnifferAddr": {
          "type": "string"
        },
        "apSnifferBufsize": {
          "type": "integer"
        },
        "apSnifferChan": {
          "type": "integer"
        },
        "apSnifferCtl": {
          "type": "string"
        },
        "apSnifferData": {
          "type": "string"
        },
        "apSnifferMgmtBeacon": {
          "type": "string"
        },
        "apSnifferMgmtOther": {
          "type": "string"
        },
        "apSnifferMgmtProbe": {
          "type": "string"
        },
        "arrpProfile": {
          "type": "string"
        },
        "autoPowerHigh": {
          "type": "integer"
        },
        "autoPowerLevel": {
          "type": "string"
        },
        "autoPowerLow": {
          "type": "integer"
        },
        "autoPowerTarget": {
          "type": "string"
        },
        "band": {
          "type": "string"
        },
        "band5gType": {
          "type": "string"
        },
        "bandwidthAdmissionControl": {
          "type": "string"
        },
        "bandwidthCapacity": {
          "type": "integer"
        },
        "beaconInterval": {
          "type": "integer"
        },
        "bssColor": {
          "type": "integer"
        },
        "bssColorMode": {
          "type": "string"
        },
        "callAdmissionControl": {
          "type": "string"
        },
        "callCapacity": {
          "type": "integer"
        },
        "channelBonding": {
          "type": "string"
        },
        "channelBondingExt": {
          "type": "string"
        },
        "channelUtilization": {
          "type": "string"
        },
        "channels": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio4Channel:WtpprofileRadio4Channel"
          }
        },
        "coexistence": {
          "type": "string"
        },
        "darrp": {
          "type": "string"
        },
        "drma": {
          "type": "string"
        },
        "drmaSensitivity": {
          "type": "string"
        },
        "dtim": {
          "type": "integer"
        },
        "fragThreshold": {
          "type": "integer"
        },
        "frequencyHandoff": {
          "type": "string",
          "description": "Enable/disable frequency handoff of clients to other channels (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "iperfProtocol": {
          "type": "string"
        },
        "iperfServerPort": {
          "type": "integer"
        },
        "maxClients": {
          "type": "integer",
          "description": "Maximum number of stations (STAs) supported by the WTP (default = 0, meaning no client limitation).\n"
        },
        "maxDistance": {
          "type": "integer"
        },
        "mimoMode": {
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "n80211d": {
          "type": "string"
        },
        "optionalAntenna": {
          "type": "string"
        },
        "optionalAntennaGain": {
          "type": "string"
        },
        "powerLevel": {
          "type": "integer"
        },
        "powerMode": {
          "type": "string"
        },
        "powerValue": {
          "type": "integer"
        },
        "powersaveOptimize": {
          "type": "string"
        },
        "protectionMode": {
          "type": "string"
        },
        "rtsThreshold": {
          "type": "integer"
        },
        "samBssid": {
          "type": "string"
        },
        "samCaCertificate": {
          "type": "string"
        },
        "samCaptivePortal": {
          "type": "string"
        },
        "samClientCertificate": {
          "type": "string"
        },
        "samCwpFailureString": {
          "type": "string"
        },
        "samCwpMatchString": {
          "type": "string"
        },
        "samCwpPassword": {
          "type": "string"
        },
        "samCwpSuccessString": {
          "type": "string"
        },
        "samCwpTestUrl": {
          "type": "string"
        },
        "samCwpUsername": {
          "type": "string"
        },
        "samEapMethod": {
          "type": "string"
        },
        "samPassword": {
          "type": "string"
        },
        "samPrivateKey": {
          "type": "string"
        },
        "samPrivateKeyPassword": {
          "type": "string"
        },
        "samReportIntv": {
          "type": "integer"
        },
        "samSecurityType": {
          "type": "string"
        },
        "samServerFqdn": {
          "type": "string"
        },
        "samServerIp": {
          "type": "string"
        },
        "samServerType": {
          "type": "string"
        },
        "samSsid": {
          "type": "string"
        },
        "samTest": {
          "type": "string"
        },
        "samUsername": {
          "type": "string"
        },
        "shortGuardInterval": {
          "type": "string"
        },
        "spectrumAnalysis": {
          "type": "string"
        },
        "transmitOptimize": {
          "type": "string"
        },
        "vapAll": {
          "type": "string"
        },
        "vaps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2FWtpprofileRadio4Vap:WtpprofileRadio4Vap"
          }
        },
        "widsProfile": {
          "type": "string"
        },
        "zeroWaitDfs": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "airtimeFairness",
            "amsdu",
            "apHandoff",
            "apSnifferAddr",
            "apSnifferBufsize",
            "apSnifferChan",
            "apSnifferCtl",
            "apSnifferData",
            "apSnifferMgmtBeacon",
            "apSnifferMgmtOther",
            "apSnifferMgmtProbe",
            "arrpProfile",
            "autoPowerHigh",
            "autoPowerLevel",
            "autoPowerLow",
            "autoPowerTarget",
            "band",
            "band5gType",
            "bandwidthAdmissionControl",
            "bandwidthCapacity",
            "beaconInterval",
            "bssColor",
            "bssColorMode",
            "callAdmissionControl",
            "callCapacity",
            "channelBonding",
            "channelBondingExt",
            "channelUtilization",
            "coexistence",
            "darrp",
            "drma",
            "drmaSensitivity",
            "dtim",
            "fragThreshold",
            "frequencyHandoff",
            "iperfProtocol",
            "iperfServerPort",
            "maxClients",
            "maxDistance",
            "mimoMode",
            "mode",
            "n80211d",
            "optionalAntenna",
            "optionalAntennaGain",
            "powerLevel",
            "powerMode",
            "powerValue",
            "powersaveOptimize",
            "protectionMode",
            "rtsThreshold",
            "samBssid",
            "samCaCertificate",
            "samCaptivePortal",
            "samClientCertificate",
            "samCwpFailureString",
            "samCwpMatchString",
            "samCwpSuccessString",
            "samCwpTestUrl",
            "samCwpUsername",
            "samEapMethod",
            "samPrivateKey",
            "samReportIntv",
            "samSecurityType",
            "samServerFqdn",
            "samServerIp",
            "samServerType",
            "samSsid",
            "samTest",
            "samUsername",
            "shortGuardInterval",
            "spectrumAnalysis",
            "transmitOptimize",
            "vapAll",
            "widsProfile",
            "zeroWaitDfs"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio4Channel:WtpprofileRadio4Channel": {
      "properties": {
        "chan": {
          "type": "string",
          "description": "Channel number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "chan"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileRadio4Vap:WtpprofileRadio4Vap": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Virtual Access Point (VAP) name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/WtpprofileSplitTunnelingAcl:WtpprofileSplitTunnelingAcl": {
      "properties": {
        "destIp": {
          "type": "string",
          "description": "Destination IP and mask for the split-tunneling subnet.\n\nThe `radio_1` block supports:\n"
        },
        "id": {
          "type": "integer",
          "description": "ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "destIp",
            "id"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/Anqp3gppcellularMccMncList:Anqp3gppcellularMccMncList": {
      "properties": {
        "id": {
          "type": "integer",
          "description": "ID.\n"
        },
        "mcc": {
          "type": "string",
          "description": "Mobile country code.\n"
        },
        "mnc": {
          "type": "string",
          "description": "Mobile network code.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "mcc",
            "mnc"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/AnqpnairealmNaiList:AnqpnairealmNaiList": {
      "properties": {
        "eapMethods": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpnairealmNaiListEapMethod:AnqpnairealmNaiListEapMethod"
          },
          "description": "EAP Methods. The structure of `eap_method` block is documented below.\n"
        },
        "encoding": {
          "type": "string",
          "description": "Enable/disable format in accordance with IETF RFC 4282. Valid values: `disable`, `enable`.\n"
        },
        "naiRealm": {
          "type": "string",
          "description": "Configure NAI realms (delimited by a semi-colon character).\n"
        },
        "name": {
          "type": "string",
          "description": "NAI realm name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "encoding",
            "naiRealm",
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/AnqpnairealmNaiListEapMethod:AnqpnairealmNaiListEapMethod": {
      "properties": {
        "authParams": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FAnqpnairealmNaiListEapMethodAuthParam:AnqpnairealmNaiListEapMethodAuthParam"
          },
          "description": "EAP auth param. The structure of `auth_param` block is documented below.\n"
        },
        "index": {
          "type": "integer",
          "description": "EAP method index.\n"
        },
        "method": {
          "type": "string",
          "description": "EAP method type. Valid values: `eap-identity`, `eap-md5`, `eap-tls`, `eap-ttls`, `eap-peap`, `eap-sim`, `eap-aka`, `eap-aka-prime`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "index",
            "method"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/AnqpnairealmNaiListEapMethodAuthParam:AnqpnairealmNaiListEapMethodAuthParam": {
      "properties": {
        "id": {
          "type": "string",
          "description": "ID of authentication parameter. Valid values: `non-eap-inner-auth`, `inner-auth-eap`, `credential`, `tunneled-credential`.\n"
        },
        "index": {
          "type": "integer",
          "description": "Param index.\n"
        },
        "val": {
          "type": "string",
          "description": "Value of authentication parameter. Valid values: `eap-identity`, `eap-md5`, `eap-tls`, `eap-ttls`, `eap-peap`, `eap-sim`, `eap-aka`, `eap-aka-prime`, `non-eap-pap`, `non-eap-chap`, `non-eap-mschap`, `non-eap-mschapv2`, `cred-sim`, `cred-usim`, `cred-nfc`, `cred-hardware-token`, `cred-softoken`, `cred-certificate`, `cred-user-pwd`, `cred-none`, `cred-vendor-specific`, `tun-cred-sim`, `tun-cred-usim`, `tun-cred-nfc`, `tun-cred-hardware-token`, `tun-cred-softoken`, `tun-cred-certificate`, `tun-cred-user-pwd`, `tun-cred-anonymous`, `tun-cred-vendor-specific`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "index",
            "val"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/AnqproamingconsortiumOiList:AnqproamingconsortiumOiList": {
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "index": {
          "type": "integer",
          "description": "OI index.\n"
        },
        "oi": {
          "type": "string",
          "description": "Organization identifier.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "comment",
            "index",
            "oi"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/AnqpvenuenameValueList:AnqpvenuenameValueList": {
      "properties": {
        "index": {
          "type": "integer",
          "description": "Value index.\n"
        },
        "lang": {
          "type": "string",
          "description": "Language code.\n"
        },
        "value": {
          "type": "string",
          "description": "Venue name value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "index",
            "lang",
            "value"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/AnqpvenueurlValueList:AnqpvenueurlValueList": {
      "properties": {
        "index": {
          "type": "integer",
          "description": "URL index.\n"
        },
        "number": {
          "type": "integer",
          "description": "Venue number.\n"
        },
        "value": {
          "type": "string",
          "description": "Venue URL value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "index",
            "number",
            "value"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/H2qpadviceofchargeAocList:H2qpadviceofchargeAocList": {
      "properties": {
        "naiRealm": {
          "type": "string",
          "description": "NAI realm list name.\n"
        },
        "naiRealmEncoding": {
          "type": "string",
          "description": "NAI realm encoding.\n"
        },
        "name": {
          "type": "string",
          "description": "Advice of charge ID.\n"
        },
        "planInfos": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:wirelesscontroller%2Fhotspot20%2FH2qpadviceofchargeAocListPlanInfo:H2qpadviceofchargeAocListPlanInfo"
          },
          "description": "Plan info. The structure of `plan_info` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Usage charge type. Valid values: `time-based`, `volume-based`, `time-and-volume-based`, `unlimited`.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "naiRealm",
            "naiRealmEncoding",
            "name",
            "type"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/H2qpadviceofchargeAocListPlanInfo:H2qpadviceofchargeAocListPlanInfo": {
      "properties": {
        "currency": {
          "type": "string",
          "description": "Currency code.\n"
        },
        "infoFile": {
          "type": "string",
          "description": "Info file.\n"
        },
        "lang": {
          "type": "string",
          "description": "Languague code.\n"
        },
        "name": {
          "type": "string",
          "description": "Plan name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "currency",
            "infoFile",
            "lang",
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/H2qpoperatornameValueList:H2qpoperatornameValueList": {
      "properties": {
        "index": {
          "type": "integer",
          "description": "Value index.\n"
        },
        "lang": {
          "type": "string",
          "description": "Language code.\n"
        },
        "value": {
          "type": "string",
          "description": "Friendly name value.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "index",
            "lang",
            "value"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/H2qposuproviderFriendlyName:H2qposuproviderFriendlyName": {
      "properties": {
        "friendlyName": {
          "type": "string",
          "description": "OSU provider friendly name.\n"
        },
        "index": {
          "type": "integer",
          "description": "OSU provider friendly name index.\n"
        },
        "lang": {
          "type": "string",
          "description": "Language code.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "friendlyName",
            "index",
            "lang"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/H2qposuproviderServiceDescription:H2qposuproviderServiceDescription": {
      "properties": {
        "lang": {
          "type": "string",
          "description": "Language code.\n"
        },
        "serviceDescription": {
          "type": "string",
          "description": "Service description.\n"
        },
        "serviceId": {
          "type": "integer",
          "description": "OSU service ID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "lang",
            "serviceDescription",
            "serviceId"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/H2qposuprovidernaiNaiList:H2qposuprovidernaiNaiList": {
      "properties": {
        "name": {
          "type": "string",
          "description": "OSU NAI ID.\n"
        },
        "osuNai": {
          "type": "string",
          "description": "OSU NAI.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "osuNai"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/HsprofileOsuProvider:HsprofileOsuProvider": {
      "properties": {
        "name": {
          "type": "string",
          "description": "OSU provider name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/IconIconList:IconIconList": {
      "properties": {
        "file": {
          "type": "string",
          "description": "Icon file.\n"
        },
        "height": {
          "type": "integer",
          "description": "Icon height.\n"
        },
        "lang": {
          "type": "string",
          "description": "Language code.\n"
        },
        "name": {
          "type": "string",
          "description": "Icon name.\n"
        },
        "type": {
          "type": "string",
          "description": "Icon type. Valid values: `bmp`, `gif`, `jpeg`, `png`, `tiff`.\n"
        },
        "width": {
          "type": "integer",
          "description": "Icon width.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "file",
            "height",
            "lang",
            "name",
            "type",
            "width"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/QosmapDscpExcept:QosmapDscpExcept": {
      "properties": {
        "dscp": {
          "type": "integer",
          "description": "DSCP value.\n"
        },
        "index": {
          "type": "integer",
          "description": "DSCP exception index.\n"
        },
        "up": {
          "type": "integer",
          "description": "User priority.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dscp",
            "index",
            "up"
          ]
        }
      }
    },
    "fortios:wirelesscontroller/hotspot20/QosmapDscpRange:QosmapDscpRange": {
      "properties": {
        "high": {
          "type": "integer",
          "description": "DSCP high value.\n"
        },
        "index": {
          "type": "integer",
          "description": "DSCP range index.\n"
        },
        "low": {
          "type": "integer",
          "description": "DSCP low value.\n"
        },
        "up": {
          "type": "integer",
          "description": "User priority.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "high",
            "index",
            "low",
            "up"
          ]
        }
      }
    }
  },
  "provider": {
    "description": "The provider type for the fortios package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
    "properties": {
      "cabundlecontent": {
        "type": "string",
        "description": "CA Bundle file content\n"
      },
      "cabundlefile": {
        "type": "string",
        "description": "CA Bundle file\n"
      },
      "cacert": {
        "type": "string",
        "description": "CA certtificate(Optional)\n"
      },
      "clientcert": {
        "type": "string",
        "description": "User certificate\n"
      },
      "clientkey": {
        "type": "string",
        "description": "User private key\n",
        "secret": true
      },
      "fmgCabundlefile": {
        "type": "string",
        "description": "CA Bundle file\n"
      },
      "fmgHostname": {
        "type": "string",
        "description": "Hostname/IP address of the FortiManager to connect to\n"
      },
      "fmgPasswd": {
        "type": "string",
        "secret": true
      },
      "fmgUsername": {
        "type": "string"
      },
      "hostname": {
        "type": "string",
        "description": "The hostname/IP address of the FortiOS to be connected\n"
      },
      "httpProxy": {
        "type": "string",
        "description": "HTTP proxy address\n"
      },
      "password": {
        "type": "string",
        "description": "The password of the user.\n"
      },
      "peerauth": {
        "type": "string",
        "description": "Enable/disable peer authentication, can be 'enable' or 'disable'\n"
      },
      "token": {
        "type": "string",
        "secret": true
      },
      "username": {
        "type": "string",
        "description": "The username of the user.\n"
      },
      "vdom": {
        "type": "string",
        "description": "Vdom name of FortiOS. It will apply to all resources. Specify variable `vdomparam` on each resource will override the\nvdom value on that resource.\n"
      }
    },
    "type": "object",
    "inputProperties": {
      "cabundlecontent": {
        "type": "string",
        "description": "CA Bundle file content\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_CABUNDLECONTENT"
          ]
        }
      },
      "cabundlefile": {
        "type": "string",
        "description": "CA Bundle file\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_CABUNDLE"
          ]
        }
      },
      "cacert": {
        "type": "string",
        "description": "CA certtificate(Optional)\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_CACERT"
          ]
        }
      },
      "clientcert": {
        "type": "string",
        "description": "User certificate\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_CLIENTCERT"
          ]
        }
      },
      "clientkey": {
        "type": "string",
        "description": "User private key\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_CLIENTKEY"
          ]
        },
        "secret": true
      },
      "fmgCabundlefile": {
        "type": "string",
        "description": "CA Bundle file\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_FMG_CABUNDLE"
          ]
        }
      },
      "fmgHostname": {
        "type": "string",
        "description": "Hostname/IP address of the FortiManager to connect to\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_FMG_HOSTNAME"
          ]
        }
      },
      "fmgInsecure": {
        "type": "boolean",
        "defaultInfo": {
          "environment": [
            "FORTIOS_FMG_INSECURE"
          ]
        }
      },
      "fmgPasswd": {
        "type": "string",
        "defaultInfo": {
          "environment": [
            "FORTIOS_FMG_PASSWORD"
          ]
        },
        "secret": true
      },
      "fmgUsername": {
        "type": "string",
        "defaultInfo": {
          "environment": [
            "FORTIOS_FMG_USERNAME"
          ]
        }
      },
      "hostname": {
        "type": "string",
        "description": "The hostname/IP address of the FortiOS to be connected\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_ACCESS_HOSTNAME"
          ]
        }
      },
      "httpProxy": {
        "type": "string",
        "description": "HTTP proxy address\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_HTTP_PROXY"
          ]
        }
      },
      "insecure": {
        "type": "boolean",
        "defaultInfo": {
          "environment": [
            "FORTIOS_INSECURE"
          ]
        }
      },
      "password": {
        "type": "string",
        "description": "The password of the user.\n"
      },
      "peerauth": {
        "type": "string",
        "description": "Enable/disable peer authentication, can be 'enable' or 'disable'\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_CA_PEERAUTH"
          ]
        }
      },
      "token": {
        "type": "string",
        "defaultInfo": {
          "environment": [
            "FORTIOS_ACCESS_TOKEN"
          ]
        },
        "secret": true
      },
      "username": {
        "type": "string",
        "description": "The username of the user.\n"
      },
      "vdom": {
        "type": "string",
        "description": "Vdom name of FortiOS. It will apply to all resources. Specify variable `vdomparam` on each resource will override the\nvdom value on that resource.\n",
        "defaultInfo": {
          "environment": [
            "FORTIOS_VDOM"
          ]
        }
      }
    }
  },
  "resources": {
    "fortios:alertemail/setting:Setting": {
      "description": "Configure alert email settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.alertemail.Setting(\"trname\", {\n    adminLoginLogs: \"disable\",\n    alertInterval: 2,\n    amcInterfaceBypassMode: \"disable\",\n    antivirusLogs: \"disable\",\n    configurationChangesLogs: \"disable\",\n    criticalInterval: 3,\n    debugInterval: 60,\n    emailInterval: 5,\n    emergencyInterval: 1,\n    errorInterval: 5,\n    fdsLicenseExpiringDays: 15,\n    informationInterval: 30,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.alertemail.Setting(\"trname\",\n    admin_login_logs=\"disable\",\n    alert_interval=2,\n    amc_interface_bypass_mode=\"disable\",\n    antivirus_logs=\"disable\",\n    configuration_changes_logs=\"disable\",\n    critical_interval=3,\n    debug_interval=60,\n    email_interval=5,\n    emergency_interval=1,\n    error_interval=5,\n    fds_license_expiring_days=15,\n    information_interval=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Alertemail.Setting(\"trname\", new()\n    {\n        AdminLoginLogs = \"disable\",\n        AlertInterval = 2,\n        AmcInterfaceBypassMode = \"disable\",\n        AntivirusLogs = \"disable\",\n        ConfigurationChangesLogs = \"disable\",\n        CriticalInterval = 3,\n        DebugInterval = 60,\n        EmailInterval = 5,\n        EmergencyInterval = 1,\n        ErrorInterval = 5,\n        FdsLicenseExpiringDays = 15,\n        InformationInterval = 30,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/alertemail\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := alertemail.NewSetting(ctx, \"trname\", &alertemail.SettingArgs{\n\t\t\tAdminLoginLogs:           pulumi.String(\"disable\"),\n\t\t\tAlertInterval:            pulumi.Int(2),\n\t\t\tAmcInterfaceBypassMode:   pulumi.String(\"disable\"),\n\t\t\tAntivirusLogs:            pulumi.String(\"disable\"),\n\t\t\tConfigurationChangesLogs: pulumi.String(\"disable\"),\n\t\t\tCriticalInterval:         pulumi.Int(3),\n\t\t\tDebugInterval:            pulumi.Int(60),\n\t\t\tEmailInterval:            pulumi.Int(5),\n\t\t\tEmergencyInterval:        pulumi.Int(1),\n\t\t\tErrorInterval:            pulumi.Int(5),\n\t\t\tFdsLicenseExpiringDays:   pulumi.Int(15),\n\t\t\tInformationInterval:      pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.alertemail.Setting;\nimport com.pulumi.fortios.alertemail.SettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Setting(\"trname\", SettingArgs.builder()\n            .adminLoginLogs(\"disable\")\n            .alertInterval(2)\n            .amcInterfaceBypassMode(\"disable\")\n            .antivirusLogs(\"disable\")\n            .configurationChangesLogs(\"disable\")\n            .criticalInterval(3)\n            .debugInterval(60)\n            .emailInterval(5)\n            .emergencyInterval(1)\n            .errorInterval(5)\n            .fdsLicenseExpiringDays(15)\n            .informationInterval(30)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:alertemail:Setting\n    properties:\n      adminLoginLogs: disable\n      alertInterval: 2\n      amcInterfaceBypassMode: disable\n      antivirusLogs: disable\n      configurationChangesLogs: disable\n      criticalInterval: 3\n      debugInterval: 60\n      emailInterval: 5\n      emergencyInterval: 1\n      errorInterval: 5\n      fdsLicenseExpiringDays: 15\n      informationInterval: 30\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAlertemail Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:alertemail/setting:Setting labelname AlertemailSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:alertemail/setting:Setting labelname AlertemailSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "adminLoginLogs": {
          "type": "string",
          "description": "Enable/disable administrator login/logout logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "alertInterval": {
          "type": "integer",
          "description": "Alert alert interval in minutes.\n"
        },
        "amcInterfaceBypassMode": {
          "type": "string",
          "description": "Enable/disable Fortinet Advanced Mezzanine Card (AMC) interface bypass mode logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "antivirusLogs": {
          "type": "string",
          "description": "Enable/disable antivirus logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "configurationChangesLogs": {
          "type": "string",
          "description": "Enable/disable configuration change logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "criticalInterval": {
          "type": "integer",
          "description": "Critical alert interval in minutes.\n"
        },
        "debugInterval": {
          "type": "integer",
          "description": "Debug alert interval in minutes.\n"
        },
        "emailInterval": {
          "type": "integer",
          "description": "Interval between sending alert emails (1 - 99999 min, default = 5).\n"
        },
        "emergencyInterval": {
          "type": "integer",
          "description": "Emergency alert interval in minutes.\n"
        },
        "errorInterval": {
          "type": "integer",
          "description": "Error alert interval in minutes.\n"
        },
        "fdsLicenseExpiringDays": {
          "type": "integer",
          "description": "Number of days to send alert email prior to FortiGuard license expiration (1 - 100 days). On FortiOS versions 6.2.0-7.2.0: default = 100. On FortiOS versions 7.2.1-7.2.8: default = 15.\n"
        },
        "fdsLicenseExpiringWarning": {
          "type": "string",
          "description": "Enable/disable FortiGuard license expiration warnings in alert email. Valid values: `enable`, `disable`.\n"
        },
        "fdsUpdateLogs": {
          "type": "string",
          "description": "Enable/disable FortiGuard update logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "filterMode": {
          "type": "string",
          "description": "How to filter log messages that are sent to alert emails. Valid values: `category`, `threshold`.\n"
        },
        "fipsCcErrors": {
          "type": "string",
          "description": "Enable/disable FIPS and Common Criteria error logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "firewallAuthenticationFailureLogs": {
          "type": "string",
          "description": "Enable/disable firewall authentication failure logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "fortiguardLogQuotaWarning": {
          "type": "string",
          "description": "Enable/disable FortiCloud log quota warnings in alert email. Valid values: `enable`, `disable`.\n"
        },
        "fssoDisconnectLogs": {
          "type": "string",
          "description": "Enable/disable logging of FSSO collector agent disconnect. Valid values: `enable`, `disable`.\n"
        },
        "haLogs": {
          "type": "string",
          "description": "Enable/disable HA logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "informationInterval": {
          "type": "integer",
          "description": "Information alert interval in minutes.\n"
        },
        "ipsLogs": {
          "type": "string",
          "description": "Enable/disable IPS logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "ipsecErrorsLogs": {
          "type": "string",
          "description": "Enable/disable IPsec error logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "localDiskUsage": {
          "type": "integer",
          "description": "Disk usage percentage at which to send alert email (1 - 99 percent, default = 75).\n"
        },
        "logDiskUsageWarning": {
          "type": "string",
          "description": "Enable/disable disk usage warnings in alert email. Valid values: `enable`, `disable`.\n"
        },
        "mailto1": {
          "type": "string",
          "description": "Email address to send alert email to (usually a system administrator). On FortiOS versions 6.2.0-6.4.0: max. 64 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
        },
        "mailto2": {
          "type": "string",
          "description": "Optional second email address to send alert email to. On FortiOS versions 6.2.0-6.4.0: max. 64 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
        },
        "mailto3": {
          "type": "string",
          "description": "Optional third email address to send alert email to. On FortiOS versions 6.2.0-6.4.0: max. 64 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
        },
        "notificationInterval": {
          "type": "integer",
          "description": "Notification alert interval in minutes.\n"
        },
        "pppErrorsLogs": {
          "type": "string",
          "description": "Enable/disable PPP error logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "sshLogs": {
          "type": "string",
          "description": "Enable/disable SSH logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnAuthenticationErrorsLogs": {
          "type": "string",
          "description": "Enable/disable SSL-VPN authentication error logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "username": {
          "type": "string",
          "description": "Name that appears in the From: field of alert emails. On FortiOS versions 6.2.0-6.4.0: max. 36 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "violationTrafficLogs": {
          "type": "string",
          "description": "Enable/disable violation traffic logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "warningInterval": {
          "type": "integer",
          "description": "Warning alert interval in minutes.\n"
        },
        "webfilterLogs": {
          "type": "string",
          "description": "Enable/disable web filter logs in alert email. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "adminLoginLogs",
        "alertInterval",
        "amcInterfaceBypassMode",
        "antivirusLogs",
        "configurationChangesLogs",
        "criticalInterval",
        "debugInterval",
        "emailInterval",
        "emergencyInterval",
        "errorInterval",
        "fdsLicenseExpiringDays",
        "fdsLicenseExpiringWarning",
        "fdsUpdateLogs",
        "filterMode",
        "fipsCcErrors",
        "firewallAuthenticationFailureLogs",
        "fortiguardLogQuotaWarning",
        "fssoDisconnectLogs",
        "haLogs",
        "informationInterval",
        "ipsLogs",
        "ipsecErrorsLogs",
        "localDiskUsage",
        "logDiskUsageWarning",
        "mailto1",
        "mailto2",
        "mailto3",
        "notificationInterval",
        "pppErrorsLogs",
        "severity",
        "sshLogs",
        "sslvpnAuthenticationErrorsLogs",
        "username",
        "vdomparam",
        "violationTrafficLogs",
        "warningInterval",
        "webfilterLogs"
      ],
      "inputProperties": {
        "adminLoginLogs": {
          "type": "string",
          "description": "Enable/disable administrator login/logout logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "alertInterval": {
          "type": "integer",
          "description": "Alert alert interval in minutes.\n"
        },
        "amcInterfaceBypassMode": {
          "type": "string",
          "description": "Enable/disable Fortinet Advanced Mezzanine Card (AMC) interface bypass mode logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "antivirusLogs": {
          "type": "string",
          "description": "Enable/disable antivirus logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "configurationChangesLogs": {
          "type": "string",
          "description": "Enable/disable configuration change logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "criticalInterval": {
          "type": "integer",
          "description": "Critical alert interval in minutes.\n"
        },
        "debugInterval": {
          "type": "integer",
          "description": "Debug alert interval in minutes.\n"
        },
        "emailInterval": {
          "type": "integer",
          "description": "Interval between sending alert emails (1 - 99999 min, default = 5).\n"
        },
        "emergencyInterval": {
          "type": "integer",
          "description": "Emergency alert interval in minutes.\n"
        },
        "errorInterval": {
          "type": "integer",
          "description": "Error alert interval in minutes.\n"
        },
        "fdsLicenseExpiringDays": {
          "type": "integer",
          "description": "Number of days to send alert email prior to FortiGuard license expiration (1 - 100 days). On FortiOS versions 6.2.0-7.2.0: default = 100. On FortiOS versions 7.2.1-7.2.8: default = 15.\n"
        },
        "fdsLicenseExpiringWarning": {
          "type": "string",
          "description": "Enable/disable FortiGuard license expiration warnings in alert email. Valid values: `enable`, `disable`.\n"
        },
        "fdsUpdateLogs": {
          "type": "string",
          "description": "Enable/disable FortiGuard update logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "filterMode": {
          "type": "string",
          "description": "How to filter log messages that are sent to alert emails. Valid values: `category`, `threshold`.\n"
        },
        "fipsCcErrors": {
          "type": "string",
          "description": "Enable/disable FIPS and Common Criteria error logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "firewallAuthenticationFailureLogs": {
          "type": "string",
          "description": "Enable/disable firewall authentication failure logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "fortiguardLogQuotaWarning": {
          "type": "string",
          "description": "Enable/disable FortiCloud log quota warnings in alert email. Valid values: `enable`, `disable`.\n"
        },
        "fssoDisconnectLogs": {
          "type": "string",
          "description": "Enable/disable logging of FSSO collector agent disconnect. Valid values: `enable`, `disable`.\n"
        },
        "haLogs": {
          "type": "string",
          "description": "Enable/disable HA logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "informationInterval": {
          "type": "integer",
          "description": "Information alert interval in minutes.\n"
        },
        "ipsLogs": {
          "type": "string",
          "description": "Enable/disable IPS logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "ipsecErrorsLogs": {
          "type": "string",
          "description": "Enable/disable IPsec error logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "localDiskUsage": {
          "type": "integer",
          "description": "Disk usage percentage at which to send alert email (1 - 99 percent, default = 75).\n"
        },
        "logDiskUsageWarning": {
          "type": "string",
          "description": "Enable/disable disk usage warnings in alert email. Valid values: `enable`, `disable`.\n"
        },
        "mailto1": {
          "type": "string",
          "description": "Email address to send alert email to (usually a system administrator). On FortiOS versions 6.2.0-6.4.0: max. 64 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
        },
        "mailto2": {
          "type": "string",
          "description": "Optional second email address to send alert email to. On FortiOS versions 6.2.0-6.4.0: max. 64 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
        },
        "mailto3": {
          "type": "string",
          "description": "Optional third email address to send alert email to. On FortiOS versions 6.2.0-6.4.0: max. 64 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
        },
        "notificationInterval": {
          "type": "integer",
          "description": "Notification alert interval in minutes.\n"
        },
        "pppErrorsLogs": {
          "type": "string",
          "description": "Enable/disable PPP error logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "sshLogs": {
          "type": "string",
          "description": "Enable/disable SSH logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnAuthenticationErrorsLogs": {
          "type": "string",
          "description": "Enable/disable SSL-VPN authentication error logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "username": {
          "type": "string",
          "description": "Name that appears in the From: field of alert emails. On FortiOS versions 6.2.0-6.4.0: max. 36 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "violationTrafficLogs": {
          "type": "string",
          "description": "Enable/disable violation traffic logs in alert email. Valid values: `enable`, `disable`.\n"
        },
        "warningInterval": {
          "type": "integer",
          "description": "Warning alert interval in minutes.\n"
        },
        "webfilterLogs": {
          "type": "string",
          "description": "Enable/disable web filter logs in alert email. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "adminLoginLogs": {
            "type": "string",
            "description": "Enable/disable administrator login/logout logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "alertInterval": {
            "type": "integer",
            "description": "Alert alert interval in minutes.\n"
          },
          "amcInterfaceBypassMode": {
            "type": "string",
            "description": "Enable/disable Fortinet Advanced Mezzanine Card (AMC) interface bypass mode logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "antivirusLogs": {
            "type": "string",
            "description": "Enable/disable antivirus logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "configurationChangesLogs": {
            "type": "string",
            "description": "Enable/disable configuration change logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "criticalInterval": {
            "type": "integer",
            "description": "Critical alert interval in minutes.\n"
          },
          "debugInterval": {
            "type": "integer",
            "description": "Debug alert interval in minutes.\n"
          },
          "emailInterval": {
            "type": "integer",
            "description": "Interval between sending alert emails (1 - 99999 min, default = 5).\n"
          },
          "emergencyInterval": {
            "type": "integer",
            "description": "Emergency alert interval in minutes.\n"
          },
          "errorInterval": {
            "type": "integer",
            "description": "Error alert interval in minutes.\n"
          },
          "fdsLicenseExpiringDays": {
            "type": "integer",
            "description": "Number of days to send alert email prior to FortiGuard license expiration (1 - 100 days). On FortiOS versions 6.2.0-7.2.0: default = 100. On FortiOS versions 7.2.1-7.2.8: default = 15.\n"
          },
          "fdsLicenseExpiringWarning": {
            "type": "string",
            "description": "Enable/disable FortiGuard license expiration warnings in alert email. Valid values: `enable`, `disable`.\n"
          },
          "fdsUpdateLogs": {
            "type": "string",
            "description": "Enable/disable FortiGuard update logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "filterMode": {
            "type": "string",
            "description": "How to filter log messages that are sent to alert emails. Valid values: `category`, `threshold`.\n"
          },
          "fipsCcErrors": {
            "type": "string",
            "description": "Enable/disable FIPS and Common Criteria error logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "firewallAuthenticationFailureLogs": {
            "type": "string",
            "description": "Enable/disable firewall authentication failure logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "fortiguardLogQuotaWarning": {
            "type": "string",
            "description": "Enable/disable FortiCloud log quota warnings in alert email. Valid values: `enable`, `disable`.\n"
          },
          "fssoDisconnectLogs": {
            "type": "string",
            "description": "Enable/disable logging of FSSO collector agent disconnect. Valid values: `enable`, `disable`.\n"
          },
          "haLogs": {
            "type": "string",
            "description": "Enable/disable HA logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "informationInterval": {
            "type": "integer",
            "description": "Information alert interval in minutes.\n"
          },
          "ipsLogs": {
            "type": "string",
            "description": "Enable/disable IPS logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "ipsecErrorsLogs": {
            "type": "string",
            "description": "Enable/disable IPsec error logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "localDiskUsage": {
            "type": "integer",
            "description": "Disk usage percentage at which to send alert email (1 - 99 percent, default = 75).\n"
          },
          "logDiskUsageWarning": {
            "type": "string",
            "description": "Enable/disable disk usage warnings in alert email. Valid values: `enable`, `disable`.\n"
          },
          "mailto1": {
            "type": "string",
            "description": "Email address to send alert email to (usually a system administrator). On FortiOS versions 6.2.0-6.4.0: max. 64 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
          },
          "mailto2": {
            "type": "string",
            "description": "Optional second email address to send alert email to. On FortiOS versions 6.2.0-6.4.0: max. 64 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
          },
          "mailto3": {
            "type": "string",
            "description": "Optional third email address to send alert email to. On FortiOS versions 6.2.0-6.4.0: max. 64 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
          },
          "notificationInterval": {
            "type": "integer",
            "description": "Notification alert interval in minutes.\n"
          },
          "pppErrorsLogs": {
            "type": "string",
            "description": "Enable/disable PPP error logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "severity": {
            "type": "string",
            "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "sshLogs": {
            "type": "string",
            "description": "Enable/disable SSH logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "sslvpnAuthenticationErrorsLogs": {
            "type": "string",
            "description": "Enable/disable SSL-VPN authentication error logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "username": {
            "type": "string",
            "description": "Name that appears in the From: field of alert emails. On FortiOS versions 6.2.0-6.4.0: max. 36 characters. On FortiOS versions >= 6.4.1: max. 63 characters.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "violationTrafficLogs": {
            "type": "string",
            "description": "Enable/disable violation traffic logs in alert email. Valid values: `enable`, `disable`.\n"
          },
          "warningInterval": {
            "type": "integer",
            "description": "Warning alert interval in minutes.\n"
          },
          "webfilterLogs": {
            "type": "string",
            "description": "Enable/disable web filter logs in alert email. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:antivirus/exemptlist:Exemptlist": {
      "description": "Configure a list of hashes to be exempt from AV scanning. Applies to FortiOS Version `>= 7.2.4`.\n\n## Import\n\nAntivirus ExemptList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:antivirus/exemptlist:Exemptlist labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:antivirus/exemptlist:Exemptlist labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "hash": {
          "type": "string",
          "description": "Hash value to be matched.\n"
        },
        "hashType": {
          "type": "string",
          "description": "Hash type. Valid values: `md5`, `sha1`, `sha256`.\n"
        },
        "name": {
          "type": "string",
          "description": "Table entry name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable table entry. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "hash",
        "hashType",
        "name",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "hash": {
          "type": "string",
          "description": "Hash value to be matched.\n"
        },
        "hashType": {
          "type": "string",
          "description": "Hash type. Valid values: `md5`, `sha1`, `sha256`.\n"
        },
        "name": {
          "type": "string",
          "description": "Table entry name.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable table entry. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Exemptlist resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "hash": {
            "type": "string",
            "description": "Hash value to be matched.\n"
          },
          "hashType": {
            "type": "string",
            "description": "Hash type. Valid values: `md5`, `sha1`, `sha256`.\n"
          },
          "name": {
            "type": "string",
            "description": "Table entry name.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Enable/disable table entry. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:antivirus/heuristic:Heuristic": {
      "description": "Configure global heuristic options. Applies to FortiOS Version `<= 7.0.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.antivirus.Heuristic(\"trname\", {mode: \"disable\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.antivirus.Heuristic(\"trname\", mode=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Antivirus.Heuristic(\"trname\", new()\n    {\n        Mode = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/antivirus\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := antivirus.NewHeuristic(ctx, \"trname\", &antivirus.HeuristicArgs{\n\t\t\tMode: pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.antivirus.Heuristic;\nimport com.pulumi.fortios.antivirus.HeuristicArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Heuristic(\"trname\", HeuristicArgs.builder()\n            .mode(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:antivirus:Heuristic\n    properties:\n      mode: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAntivirus Heuristic can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:antivirus/heuristic:Heuristic labelname AntivirusHeuristic\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:antivirus/heuristic:Heuristic labelname AntivirusHeuristic\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "mode": {
          "type": "string",
          "description": "Enable/disable heuristics and determine how the system behaves if heuristics detects a problem. Valid values: `pass`, `block`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "mode",
        "vdomparam"
      ],
      "inputProperties": {
        "mode": {
          "type": "string",
          "description": "Enable/disable heuristics and determine how the system behaves if heuristics detects a problem. Valid values: `pass`, `block`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Heuristic resources.\n",
        "properties": {
          "mode": {
            "type": "string",
            "description": "Enable/disable heuristics and determine how the system behaves if heuristics detects a problem. Valid values: `pass`, `block`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:antivirus/profile:Profile": {
      "description": "Configure AntiVirus profiles.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.antivirus.Profile(\"trname\", {\n    analyticsBlFiletype: 0,\n    analyticsDb: \"disable\",\n    analyticsMaxUpload: 10,\n    analyticsWlFiletype: 0,\n    avBlockLog: \"enable\",\n    avVirusLog: \"enable\",\n    extendedLog: \"disable\",\n    ftgdAnalytics: \"disable\",\n    inspectionMode: \"flow-based\",\n    mobileMalwareDb: \"enable\",\n    scanMode: \"quick\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.antivirus.Profile(\"trname\",\n    analytics_bl_filetype=0,\n    analytics_db=\"disable\",\n    analytics_max_upload=10,\n    analytics_wl_filetype=0,\n    av_block_log=\"enable\",\n    av_virus_log=\"enable\",\n    extended_log=\"disable\",\n    ftgd_analytics=\"disable\",\n    inspection_mode=\"flow-based\",\n    mobile_malware_db=\"enable\",\n    scan_mode=\"quick\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Antivirus.Profile(\"trname\", new()\n    {\n        AnalyticsBlFiletype = 0,\n        AnalyticsDb = \"disable\",\n        AnalyticsMaxUpload = 10,\n        AnalyticsWlFiletype = 0,\n        AvBlockLog = \"enable\",\n        AvVirusLog = \"enable\",\n        ExtendedLog = \"disable\",\n        FtgdAnalytics = \"disable\",\n        InspectionMode = \"flow-based\",\n        MobileMalwareDb = \"enable\",\n        ScanMode = \"quick\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/antivirus\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := antivirus.NewProfile(ctx, \"trname\", &antivirus.ProfileArgs{\n\t\t\tAnalyticsBlFiletype: pulumi.Int(0),\n\t\t\tAnalyticsDb:         pulumi.String(\"disable\"),\n\t\t\tAnalyticsMaxUpload:  pulumi.Int(10),\n\t\t\tAnalyticsWlFiletype: pulumi.Int(0),\n\t\t\tAvBlockLog:          pulumi.String(\"enable\"),\n\t\t\tAvVirusLog:          pulumi.String(\"enable\"),\n\t\t\tExtendedLog:         pulumi.String(\"disable\"),\n\t\t\tFtgdAnalytics:       pulumi.String(\"disable\"),\n\t\t\tInspectionMode:      pulumi.String(\"flow-based\"),\n\t\t\tMobileMalwareDb:     pulumi.String(\"enable\"),\n\t\t\tScanMode:            pulumi.String(\"quick\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.antivirus.Profile;\nimport com.pulumi.fortios.antivirus.ProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Profile(\"trname\", ProfileArgs.builder()\n            .analyticsBlFiletype(0)\n            .analyticsDb(\"disable\")\n            .analyticsMaxUpload(10)\n            .analyticsWlFiletype(0)\n            .avBlockLog(\"enable\")\n            .avVirusLog(\"enable\")\n            .extendedLog(\"disable\")\n            .ftgdAnalytics(\"disable\")\n            .inspectionMode(\"flow-based\")\n            .mobileMalwareDb(\"enable\")\n            .scanMode(\"quick\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:antivirus:Profile\n    properties:\n      analyticsBlFiletype: 0\n      analyticsDb: disable\n      analyticsMaxUpload: 10\n      analyticsWlFiletype: 0\n      avBlockLog: enable\n      avVirusLog: enable\n      extendedLog: disable\n      ftgdAnalytics: disable\n      inspectionMode: flow-based\n      mobileMalwareDb: enable\n      scanMode: quick\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAntivirus Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:antivirus/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:antivirus/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "analyticsAcceptFiletype": {
          "type": "integer",
          "description": "Only submit files matching this DLP file-pattern to FortiSandbox.\n"
        },
        "analyticsBlFiletype": {
          "type": "integer",
          "description": "Only submit files matching this DLP file-pattern to FortiSandbox.\n"
        },
        "analyticsDb": {
          "type": "string",
          "description": "Enable/disable using the FortiSandbox signature database to supplement the AV signature databases. Valid values: `disable`, `enable`.\n"
        },
        "analyticsIgnoreFiletype": {
          "type": "integer",
          "description": "Do not submit files matching this DLP file-pattern to FortiSandbox (post-transfer scan only).\n"
        },
        "analyticsMaxUpload": {
          "type": "integer",
          "description": "Maximum size of files that can be uploaded to FortiSandbox.\n"
        },
        "analyticsWlFiletype": {
          "type": "integer",
          "description": "Do not submit files matching this DLP file-pattern to FortiSandbox.\n"
        },
        "avBlockLog": {
          "type": "string",
          "description": "Enable/disable logging for AntiVirus file blocking. Valid values: `enable`, `disable`.\n"
        },
        "avVirusLog": {
          "type": "string",
          "description": "Enable/disable AntiVirus logging. Valid values: `enable`, `disable`.\n"
        },
        "cifs": {
          "$ref": "#/types/fortios:antivirus%2FProfileCifs:ProfileCifs",
          "description": "Configure CIFS AntiVirus options. The structure of `cifs` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "contentDisarm": {
          "$ref": "#/types/fortios:antivirus%2FProfileContentDisarm:ProfileContentDisarm",
          "description": "AV Content Disarm and Reconstruction settings. The structure of `content_disarm` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emsThreatFeed": {
          "type": "string",
          "description": "Enable/disable use of EMS threat feed when performing AntiVirus scan. Analyzes files including the content of archives. Valid values: `disable`, `enable`.\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging for antivirus. Valid values: `enable`, `disable`.\n"
        },
        "externalBlocklistEnableAll": {
          "type": "string",
          "description": "Enable/disable all external blocklists. Valid values: `disable`, `enable`.\n"
        },
        "externalBlocklists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:antivirus%2FProfileExternalBlocklist:ProfileExternalBlocklist"
          },
          "description": "One or more external malware block lists. The structure of `external_blocklist` block is documented below.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "fortiaiErrorAction": {
          "type": "string",
          "description": "Action to take if FortiAI encounters an error. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "fortiaiTimeoutAction": {
          "type": "string",
          "description": "Action to take if FortiAI encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "fortindrErrorAction": {
          "type": "string",
          "description": "Action to take if FortiNDR encounters an error. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "fortindrTimeoutAction": {
          "type": "string",
          "description": "Action to take if FortiNDR encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "fortisandboxErrorAction": {
          "type": "string",
          "description": "Action to take if FortiSandbox inline scan encounters an error. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "fortisandboxMaxUpload": {
          "type": "integer",
          "description": "Maximum size of files that can be uploaded to FortiSandbox.\n"
        },
        "fortisandboxMode": {
          "type": "string",
          "description": "FortiSandbox scan modes. Valid values: `inline`, `analytics-suspicious`, `analytics-everything`.\n"
        },
        "fortisandboxTimeoutAction": {
          "type": "string",
          "description": "Action to take if FortiSandbox inline scan encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "ftgdAnalytics": {
          "type": "string",
          "description": "Settings to control which files are uploaded to FortiSandbox. Valid values: `disable`, `suspicious`, `everything`.\n"
        },
        "ftp": {
          "$ref": "#/types/fortios:antivirus%2FProfileFtp:ProfileFtp",
          "description": "Configure FTP AntiVirus options. The structure of `ftp` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "http": {
          "$ref": "#/types/fortios:antivirus%2FProfileHttp:ProfileHttp",
          "description": "Configure HTTP AntiVirus options. The structure of `http` block is documented below.\n"
        },
        "imap": {
          "$ref": "#/types/fortios:antivirus%2FProfileImap:ProfileImap",
          "description": "Configure IMAP AntiVirus options. The structure of `imap` block is documented below.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Inspection mode. Valid values: `proxy`, `flow-based`.\n"
        },
        "mapi": {
          "$ref": "#/types/fortios:antivirus%2FProfileMapi:ProfileMapi",
          "description": "Configure MAPI AntiVirus options. The structure of `mapi` block is documented below.\n"
        },
        "mobileMalwareDb": {
          "type": "string",
          "description": "Enable/disable using the mobile malware signature database. Valid values: `disable`, `enable`.\n"
        },
        "nacQuar": {
          "$ref": "#/types/fortios:antivirus%2FProfileNacQuar:ProfileNacQuar",
          "description": "Configure AntiVirus quarantine settings. The structure of `nac_quar` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "nntp": {
          "$ref": "#/types/fortios:antivirus%2FProfileNntp:ProfileNntp",
          "description": "Configure NNTP AntiVirus options. The structure of `nntp` block is documented below.\n"
        },
        "outbreakPrevention": {
          "$ref": "#/types/fortios:antivirus%2FProfileOutbreakPrevention:ProfileOutbreakPrevention",
          "description": "Configure Virus Outbreak Prevention settings. The structure of `outbreak_prevention` block is documented below.\n"
        },
        "outbreakPreventionArchiveScan": {
          "type": "string",
          "description": "Enable/disable outbreak-prevention archive scanning. Valid values: `disable`, `enable`.\n"
        },
        "pop3": {
          "$ref": "#/types/fortios:antivirus%2FProfilePop3:ProfilePop3",
          "description": "Configure POP3 AntiVirus options. The structure of `pop3` block is documented below.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group customized for this profile.\n"
        },
        "scanMode": {
          "type": "string",
          "description": "Configure scan mode (default or legacy).\n"
        },
        "smb": {
          "$ref": "#/types/fortios:antivirus%2FProfileSmb:ProfileSmb",
          "description": "Configure SMB AntiVirus options. The structure of `smb` block is documented below.\n"
        },
        "smtp": {
          "$ref": "#/types/fortios:antivirus%2FProfileSmtp:ProfileSmtp",
          "description": "Configure SMTP AntiVirus options. The structure of `smtp` block is documented below.\n"
        },
        "ssh": {
          "$ref": "#/types/fortios:antivirus%2FProfileSsh:ProfileSsh",
          "description": "Configure SFTP and SCP AntiVirus options. The structure of `ssh` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "analyticsAcceptFiletype",
        "analyticsBlFiletype",
        "analyticsDb",
        "analyticsIgnoreFiletype",
        "analyticsMaxUpload",
        "analyticsWlFiletype",
        "avBlockLog",
        "avVirusLog",
        "cifs",
        "contentDisarm",
        "emsThreatFeed",
        "extendedLog",
        "externalBlocklistEnableAll",
        "featureSet",
        "fortiaiErrorAction",
        "fortiaiTimeoutAction",
        "fortindrErrorAction",
        "fortindrTimeoutAction",
        "fortisandboxErrorAction",
        "fortisandboxMaxUpload",
        "fortisandboxMode",
        "fortisandboxTimeoutAction",
        "ftgdAnalytics",
        "ftp",
        "http",
        "imap",
        "inspectionMode",
        "mapi",
        "mobileMalwareDb",
        "nacQuar",
        "name",
        "nntp",
        "outbreakPrevention",
        "outbreakPreventionArchiveScan",
        "pop3",
        "replacemsgGroup",
        "scanMode",
        "smb",
        "smtp",
        "ssh",
        "vdomparam"
      ],
      "inputProperties": {
        "analyticsAcceptFiletype": {
          "type": "integer",
          "description": "Only submit files matching this DLP file-pattern to FortiSandbox.\n"
        },
        "analyticsBlFiletype": {
          "type": "integer",
          "description": "Only submit files matching this DLP file-pattern to FortiSandbox.\n"
        },
        "analyticsDb": {
          "type": "string",
          "description": "Enable/disable using the FortiSandbox signature database to supplement the AV signature databases. Valid values: `disable`, `enable`.\n"
        },
        "analyticsIgnoreFiletype": {
          "type": "integer",
          "description": "Do not submit files matching this DLP file-pattern to FortiSandbox (post-transfer scan only).\n"
        },
        "analyticsMaxUpload": {
          "type": "integer",
          "description": "Maximum size of files that can be uploaded to FortiSandbox.\n"
        },
        "analyticsWlFiletype": {
          "type": "integer",
          "description": "Do not submit files matching this DLP file-pattern to FortiSandbox.\n"
        },
        "avBlockLog": {
          "type": "string",
          "description": "Enable/disable logging for AntiVirus file blocking. Valid values: `enable`, `disable`.\n"
        },
        "avVirusLog": {
          "type": "string",
          "description": "Enable/disable AntiVirus logging. Valid values: `enable`, `disable`.\n"
        },
        "cifs": {
          "$ref": "#/types/fortios:antivirus%2FProfileCifs:ProfileCifs",
          "description": "Configure CIFS AntiVirus options. The structure of `cifs` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "contentDisarm": {
          "$ref": "#/types/fortios:antivirus%2FProfileContentDisarm:ProfileContentDisarm",
          "description": "AV Content Disarm and Reconstruction settings. The structure of `content_disarm` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emsThreatFeed": {
          "type": "string",
          "description": "Enable/disable use of EMS threat feed when performing AntiVirus scan. Analyzes files including the content of archives. Valid values: `disable`, `enable`.\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging for antivirus. Valid values: `enable`, `disable`.\n"
        },
        "externalBlocklistEnableAll": {
          "type": "string",
          "description": "Enable/disable all external blocklists. Valid values: `disable`, `enable`.\n"
        },
        "externalBlocklists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:antivirus%2FProfileExternalBlocklist:ProfileExternalBlocklist"
          },
          "description": "One or more external malware block lists. The structure of `external_blocklist` block is documented below.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "fortiaiErrorAction": {
          "type": "string",
          "description": "Action to take if FortiAI encounters an error. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "fortiaiTimeoutAction": {
          "type": "string",
          "description": "Action to take if FortiAI encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "fortindrErrorAction": {
          "type": "string",
          "description": "Action to take if FortiNDR encounters an error. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "fortindrTimeoutAction": {
          "type": "string",
          "description": "Action to take if FortiNDR encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "fortisandboxErrorAction": {
          "type": "string",
          "description": "Action to take if FortiSandbox inline scan encounters an error. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "fortisandboxMaxUpload": {
          "type": "integer",
          "description": "Maximum size of files that can be uploaded to FortiSandbox.\n"
        },
        "fortisandboxMode": {
          "type": "string",
          "description": "FortiSandbox scan modes. Valid values: `inline`, `analytics-suspicious`, `analytics-everything`.\n"
        },
        "fortisandboxTimeoutAction": {
          "type": "string",
          "description": "Action to take if FortiSandbox inline scan encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`.\n"
        },
        "ftgdAnalytics": {
          "type": "string",
          "description": "Settings to control which files are uploaded to FortiSandbox. Valid values: `disable`, `suspicious`, `everything`.\n"
        },
        "ftp": {
          "$ref": "#/types/fortios:antivirus%2FProfileFtp:ProfileFtp",
          "description": "Configure FTP AntiVirus options. The structure of `ftp` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "http": {
          "$ref": "#/types/fortios:antivirus%2FProfileHttp:ProfileHttp",
          "description": "Configure HTTP AntiVirus options. The structure of `http` block is documented below.\n"
        },
        "imap": {
          "$ref": "#/types/fortios:antivirus%2FProfileImap:ProfileImap",
          "description": "Configure IMAP AntiVirus options. The structure of `imap` block is documented below.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Inspection mode. Valid values: `proxy`, `flow-based`.\n"
        },
        "mapi": {
          "$ref": "#/types/fortios:antivirus%2FProfileMapi:ProfileMapi",
          "description": "Configure MAPI AntiVirus options. The structure of `mapi` block is documented below.\n"
        },
        "mobileMalwareDb": {
          "type": "string",
          "description": "Enable/disable using the mobile malware signature database. Valid values: `disable`, `enable`.\n"
        },
        "nacQuar": {
          "$ref": "#/types/fortios:antivirus%2FProfileNacQuar:ProfileNacQuar",
          "description": "Configure AntiVirus quarantine settings. The structure of `nac_quar` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "nntp": {
          "$ref": "#/types/fortios:antivirus%2FProfileNntp:ProfileNntp",
          "description": "Configure NNTP AntiVirus options. The structure of `nntp` block is documented below.\n"
        },
        "outbreakPrevention": {
          "$ref": "#/types/fortios:antivirus%2FProfileOutbreakPrevention:ProfileOutbreakPrevention",
          "description": "Configure Virus Outbreak Prevention settings. The structure of `outbreak_prevention` block is documented below.\n"
        },
        "outbreakPreventionArchiveScan": {
          "type": "string",
          "description": "Enable/disable outbreak-prevention archive scanning. Valid values: `disable`, `enable`.\n"
        },
        "pop3": {
          "$ref": "#/types/fortios:antivirus%2FProfilePop3:ProfilePop3",
          "description": "Configure POP3 AntiVirus options. The structure of `pop3` block is documented below.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group customized for this profile.\n"
        },
        "scanMode": {
          "type": "string",
          "description": "Configure scan mode (default or legacy).\n"
        },
        "smb": {
          "$ref": "#/types/fortios:antivirus%2FProfileSmb:ProfileSmb",
          "description": "Configure SMB AntiVirus options. The structure of `smb` block is documented below.\n"
        },
        "smtp": {
          "$ref": "#/types/fortios:antivirus%2FProfileSmtp:ProfileSmtp",
          "description": "Configure SMTP AntiVirus options. The structure of `smtp` block is documented below.\n"
        },
        "ssh": {
          "$ref": "#/types/fortios:antivirus%2FProfileSsh:ProfileSsh",
          "description": "Configure SFTP and SCP AntiVirus options. The structure of `ssh` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "analyticsAcceptFiletype": {
            "type": "integer",
            "description": "Only submit files matching this DLP file-pattern to FortiSandbox.\n"
          },
          "analyticsBlFiletype": {
            "type": "integer",
            "description": "Only submit files matching this DLP file-pattern to FortiSandbox.\n"
          },
          "analyticsDb": {
            "type": "string",
            "description": "Enable/disable using the FortiSandbox signature database to supplement the AV signature databases. Valid values: `disable`, `enable`.\n"
          },
          "analyticsIgnoreFiletype": {
            "type": "integer",
            "description": "Do not submit files matching this DLP file-pattern to FortiSandbox (post-transfer scan only).\n"
          },
          "analyticsMaxUpload": {
            "type": "integer",
            "description": "Maximum size of files that can be uploaded to FortiSandbox.\n"
          },
          "analyticsWlFiletype": {
            "type": "integer",
            "description": "Do not submit files matching this DLP file-pattern to FortiSandbox.\n"
          },
          "avBlockLog": {
            "type": "string",
            "description": "Enable/disable logging for AntiVirus file blocking. Valid values: `enable`, `disable`.\n"
          },
          "avVirusLog": {
            "type": "string",
            "description": "Enable/disable AntiVirus logging. Valid values: `enable`, `disable`.\n"
          },
          "cifs": {
            "$ref": "#/types/fortios:antivirus%2FProfileCifs:ProfileCifs",
            "description": "Configure CIFS AntiVirus options. The structure of `cifs` block is documented below.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "contentDisarm": {
            "$ref": "#/types/fortios:antivirus%2FProfileContentDisarm:ProfileContentDisarm",
            "description": "AV Content Disarm and Reconstruction settings. The structure of `content_disarm` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emsThreatFeed": {
            "type": "string",
            "description": "Enable/disable use of EMS threat feed when performing AntiVirus scan. Analyzes files including the content of archives. Valid values: `disable`, `enable`.\n"
          },
          "extendedLog": {
            "type": "string",
            "description": "Enable/disable extended logging for antivirus. Valid values: `enable`, `disable`.\n"
          },
          "externalBlocklistEnableAll": {
            "type": "string",
            "description": "Enable/disable all external blocklists. Valid values: `disable`, `enable`.\n"
          },
          "externalBlocklists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:antivirus%2FProfileExternalBlocklist:ProfileExternalBlocklist"
            },
            "description": "One or more external malware block lists. The structure of `external_blocklist` block is documented below.\n"
          },
          "featureSet": {
            "type": "string",
            "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
          },
          "fortiaiErrorAction": {
            "type": "string",
            "description": "Action to take if FortiAI encounters an error. Valid values: `log-only`, `block`, `ignore`.\n"
          },
          "fortiaiTimeoutAction": {
            "type": "string",
            "description": "Action to take if FortiAI encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`.\n"
          },
          "fortindrErrorAction": {
            "type": "string",
            "description": "Action to take if FortiNDR encounters an error. Valid values: `log-only`, `block`, `ignore`.\n"
          },
          "fortindrTimeoutAction": {
            "type": "string",
            "description": "Action to take if FortiNDR encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`.\n"
          },
          "fortisandboxErrorAction": {
            "type": "string",
            "description": "Action to take if FortiSandbox inline scan encounters an error. Valid values: `log-only`, `block`, `ignore`.\n"
          },
          "fortisandboxMaxUpload": {
            "type": "integer",
            "description": "Maximum size of files that can be uploaded to FortiSandbox.\n"
          },
          "fortisandboxMode": {
            "type": "string",
            "description": "FortiSandbox scan modes. Valid values: `inline`, `analytics-suspicious`, `analytics-everything`.\n"
          },
          "fortisandboxTimeoutAction": {
            "type": "string",
            "description": "Action to take if FortiSandbox inline scan encounters a scan timeout. Valid values: `log-only`, `block`, `ignore`.\n"
          },
          "ftgdAnalytics": {
            "type": "string",
            "description": "Settings to control which files are uploaded to FortiSandbox. Valid values: `disable`, `suspicious`, `everything`.\n"
          },
          "ftp": {
            "$ref": "#/types/fortios:antivirus%2FProfileFtp:ProfileFtp",
            "description": "Configure FTP AntiVirus options. The structure of `ftp` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "http": {
            "$ref": "#/types/fortios:antivirus%2FProfileHttp:ProfileHttp",
            "description": "Configure HTTP AntiVirus options. The structure of `http` block is documented below.\n"
          },
          "imap": {
            "$ref": "#/types/fortios:antivirus%2FProfileImap:ProfileImap",
            "description": "Configure IMAP AntiVirus options. The structure of `imap` block is documented below.\n"
          },
          "inspectionMode": {
            "type": "string",
            "description": "Inspection mode. Valid values: `proxy`, `flow-based`.\n"
          },
          "mapi": {
            "$ref": "#/types/fortios:antivirus%2FProfileMapi:ProfileMapi",
            "description": "Configure MAPI AntiVirus options. The structure of `mapi` block is documented below.\n"
          },
          "mobileMalwareDb": {
            "type": "string",
            "description": "Enable/disable using the mobile malware signature database. Valid values: `disable`, `enable`.\n"
          },
          "nacQuar": {
            "$ref": "#/types/fortios:antivirus%2FProfileNacQuar:ProfileNacQuar",
            "description": "Configure AntiVirus quarantine settings. The structure of `nac_quar` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "nntp": {
            "$ref": "#/types/fortios:antivirus%2FProfileNntp:ProfileNntp",
            "description": "Configure NNTP AntiVirus options. The structure of `nntp` block is documented below.\n"
          },
          "outbreakPrevention": {
            "$ref": "#/types/fortios:antivirus%2FProfileOutbreakPrevention:ProfileOutbreakPrevention",
            "description": "Configure Virus Outbreak Prevention settings. The structure of `outbreak_prevention` block is documented below.\n"
          },
          "outbreakPreventionArchiveScan": {
            "type": "string",
            "description": "Enable/disable outbreak-prevention archive scanning. Valid values: `disable`, `enable`.\n"
          },
          "pop3": {
            "$ref": "#/types/fortios:antivirus%2FProfilePop3:ProfilePop3",
            "description": "Configure POP3 AntiVirus options. The structure of `pop3` block is documented below.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group customized for this profile.\n"
          },
          "scanMode": {
            "type": "string",
            "description": "Configure scan mode (default or legacy).\n"
          },
          "smb": {
            "$ref": "#/types/fortios:antivirus%2FProfileSmb:ProfileSmb",
            "description": "Configure SMB AntiVirus options. The structure of `smb` block is documented below.\n"
          },
          "smtp": {
            "$ref": "#/types/fortios:antivirus%2FProfileSmtp:ProfileSmtp",
            "description": "Configure SMTP AntiVirus options. The structure of `smtp` block is documented below.\n"
          },
          "ssh": {
            "$ref": "#/types/fortios:antivirus%2FProfileSsh:ProfileSsh",
            "description": "Configure SFTP and SCP AntiVirus options. The structure of `ssh` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:antivirus/quarantine:Quarantine": {
      "description": "Configure quarantine options.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.antivirus.Quarantine(\"trname\", {\n    agelimit: 0,\n    destination: \"disk\",\n    lowspace: \"ovrw-old\",\n    maxfilesize: 0,\n    quarantineQuota: 0,\n    storeBlocked: \"imap smtp pop3 http ftp nntp imaps smtps pop3s ftps mapi cifs\",\n    storeHeuristic: \"imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\",\n    storeInfected: \"imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.antivirus.Quarantine(\"trname\",\n    agelimit=0,\n    destination=\"disk\",\n    lowspace=\"ovrw-old\",\n    maxfilesize=0,\n    quarantine_quota=0,\n    store_blocked=\"imap smtp pop3 http ftp nntp imaps smtps pop3s ftps mapi cifs\",\n    store_heuristic=\"imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\",\n    store_infected=\"imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Antivirus.Quarantine(\"trname\", new()\n    {\n        Agelimit = 0,\n        Destination = \"disk\",\n        Lowspace = \"ovrw-old\",\n        Maxfilesize = 0,\n        QuarantineQuota = 0,\n        StoreBlocked = \"imap smtp pop3 http ftp nntp imaps smtps pop3s ftps mapi cifs\",\n        StoreHeuristic = \"imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\",\n        StoreInfected = \"imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/antivirus\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := antivirus.NewQuarantine(ctx, \"trname\", &antivirus.QuarantineArgs{\n\t\t\tAgelimit:        pulumi.Int(0),\n\t\t\tDestination:     pulumi.String(\"disk\"),\n\t\t\tLowspace:        pulumi.String(\"ovrw-old\"),\n\t\t\tMaxfilesize:     pulumi.Int(0),\n\t\t\tQuarantineQuota: pulumi.Int(0),\n\t\t\tStoreBlocked:    pulumi.String(\"imap smtp pop3 http ftp nntp imaps smtps pop3s ftps mapi cifs\"),\n\t\t\tStoreHeuristic:  pulumi.String(\"imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\"),\n\t\t\tStoreInfected:   pulumi.String(\"imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.antivirus.Quarantine;\nimport com.pulumi.fortios.antivirus.QuarantineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Quarantine(\"trname\", QuarantineArgs.builder()\n            .agelimit(0)\n            .destination(\"disk\")\n            .lowspace(\"ovrw-old\")\n            .maxfilesize(0)\n            .quarantineQuota(0)\n            .storeBlocked(\"imap smtp pop3 http ftp nntp imaps smtps pop3s ftps mapi cifs\")\n            .storeHeuristic(\"imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\")\n            .storeInfected(\"imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:antivirus:Quarantine\n    properties:\n      agelimit: 0\n      destination: disk\n      lowspace: ovrw-old\n      maxfilesize: 0\n      quarantineQuota: 0\n      storeBlocked: imap smtp pop3 http ftp nntp imaps smtps pop3s ftps mapi cifs\n      storeHeuristic: imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\n      storeInfected: imap smtp pop3 http ftp nntp imaps smtps pop3s https ftps mapi cifs\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAntivirus Quarantine can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:antivirus/quarantine:Quarantine labelname AntivirusQuarantine\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:antivirus/quarantine:Quarantine labelname AntivirusQuarantine\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "agelimit": {
          "type": "integer",
          "description": "Age limit for quarantined files (0 - 479 hours, 0 means forever).\n"
        },
        "destination": {
          "type": "string",
          "description": "Choose whether to quarantine files to the FortiGate disk or to FortiAnalyzer or to delete them instead of quarantining them. Valid values: `NULL`, `disk`, `FortiAnalyzer`.\n"
        },
        "dropBlocked": {
          "type": "string",
          "description": "Do not quarantine dropped files found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined.\n"
        },
        "dropHeuristic": {
          "type": "string",
          "description": "Do not quarantine files detected by heuristics found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined.\n"
        },
        "dropInfected": {
          "type": "string",
          "description": "Do not quarantine infected files found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined.\n"
        },
        "dropMachineLearning": {
          "type": "string",
          "description": "Do not quarantine files detected by machine learning found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined. Valid values: `imap`, `smtp`, `pop3`, `http`, `ftp`, `nntp`, `imaps`, `smtps`, `pop3s`, `https`, `ftps`, `mapi`, `cifs`, `ssh`.\n"
        },
        "lowspace": {
          "type": "string",
          "description": "Select the method for handling additional files when running low on disk space. Valid values: `drop-new`, `ovrw-old`.\n"
        },
        "maxfilesize": {
          "type": "integer",
          "description": "Maximum file size to quarantine (0 - 500 Mbytes, 0 means unlimited).\n"
        },
        "quarantineQuota": {
          "type": "integer",
          "description": "The amount of disk space to reserve for quarantining files (0 - 4294967295 Mbytes, depends on disk space).\n"
        },
        "storeBlocked": {
          "type": "string",
          "description": "Quarantine blocked files found in sessions using the selected protocols.\n"
        },
        "storeHeuristic": {
          "type": "string",
          "description": "Quarantine files detected by heuristics found in sessions using the selected protocols.\n"
        },
        "storeInfected": {
          "type": "string",
          "description": "Quarantine infected files found in sessions using the selected protocols.\n"
        },
        "storeMachineLearning": {
          "type": "string",
          "description": "Quarantine files detected by machine learning found in sessions using the selected protocols. Valid values: `imap`, `smtp`, `pop3`, `http`, `ftp`, `nntp`, `imaps`, `smtps`, `pop3s`, `https`, `ftps`, `mapi`, `cifs`, `ssh`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "agelimit",
        "destination",
        "dropBlocked",
        "dropHeuristic",
        "dropInfected",
        "dropMachineLearning",
        "lowspace",
        "maxfilesize",
        "quarantineQuota",
        "storeBlocked",
        "storeHeuristic",
        "storeInfected",
        "storeMachineLearning",
        "vdomparam"
      ],
      "inputProperties": {
        "agelimit": {
          "type": "integer",
          "description": "Age limit for quarantined files (0 - 479 hours, 0 means forever).\n"
        },
        "destination": {
          "type": "string",
          "description": "Choose whether to quarantine files to the FortiGate disk or to FortiAnalyzer or to delete them instead of quarantining them. Valid values: `NULL`, `disk`, `FortiAnalyzer`.\n"
        },
        "dropBlocked": {
          "type": "string",
          "description": "Do not quarantine dropped files found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined.\n"
        },
        "dropHeuristic": {
          "type": "string",
          "description": "Do not quarantine files detected by heuristics found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined.\n"
        },
        "dropInfected": {
          "type": "string",
          "description": "Do not quarantine infected files found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined.\n"
        },
        "dropMachineLearning": {
          "type": "string",
          "description": "Do not quarantine files detected by machine learning found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined. Valid values: `imap`, `smtp`, `pop3`, `http`, `ftp`, `nntp`, `imaps`, `smtps`, `pop3s`, `https`, `ftps`, `mapi`, `cifs`, `ssh`.\n"
        },
        "lowspace": {
          "type": "string",
          "description": "Select the method for handling additional files when running low on disk space. Valid values: `drop-new`, `ovrw-old`.\n"
        },
        "maxfilesize": {
          "type": "integer",
          "description": "Maximum file size to quarantine (0 - 500 Mbytes, 0 means unlimited).\n"
        },
        "quarantineQuota": {
          "type": "integer",
          "description": "The amount of disk space to reserve for quarantining files (0 - 4294967295 Mbytes, depends on disk space).\n"
        },
        "storeBlocked": {
          "type": "string",
          "description": "Quarantine blocked files found in sessions using the selected protocols.\n"
        },
        "storeHeuristic": {
          "type": "string",
          "description": "Quarantine files detected by heuristics found in sessions using the selected protocols.\n"
        },
        "storeInfected": {
          "type": "string",
          "description": "Quarantine infected files found in sessions using the selected protocols.\n"
        },
        "storeMachineLearning": {
          "type": "string",
          "description": "Quarantine files detected by machine learning found in sessions using the selected protocols. Valid values: `imap`, `smtp`, `pop3`, `http`, `ftp`, `nntp`, `imaps`, `smtps`, `pop3s`, `https`, `ftps`, `mapi`, `cifs`, `ssh`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Quarantine resources.\n",
        "properties": {
          "agelimit": {
            "type": "integer",
            "description": "Age limit for quarantined files (0 - 479 hours, 0 means forever).\n"
          },
          "destination": {
            "type": "string",
            "description": "Choose whether to quarantine files to the FortiGate disk or to FortiAnalyzer or to delete them instead of quarantining them. Valid values: `NULL`, `disk`, `FortiAnalyzer`.\n"
          },
          "dropBlocked": {
            "type": "string",
            "description": "Do not quarantine dropped files found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined.\n"
          },
          "dropHeuristic": {
            "type": "string",
            "description": "Do not quarantine files detected by heuristics found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined.\n"
          },
          "dropInfected": {
            "type": "string",
            "description": "Do not quarantine infected files found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined.\n"
          },
          "dropMachineLearning": {
            "type": "string",
            "description": "Do not quarantine files detected by machine learning found in sessions using the selected protocols. Dropped files are deleted instead of being quarantined. Valid values: `imap`, `smtp`, `pop3`, `http`, `ftp`, `nntp`, `imaps`, `smtps`, `pop3s`, `https`, `ftps`, `mapi`, `cifs`, `ssh`.\n"
          },
          "lowspace": {
            "type": "string",
            "description": "Select the method for handling additional files when running low on disk space. Valid values: `drop-new`, `ovrw-old`.\n"
          },
          "maxfilesize": {
            "type": "integer",
            "description": "Maximum file size to quarantine (0 - 500 Mbytes, 0 means unlimited).\n"
          },
          "quarantineQuota": {
            "type": "integer",
            "description": "The amount of disk space to reserve for quarantining files (0 - 4294967295 Mbytes, depends on disk space).\n"
          },
          "storeBlocked": {
            "type": "string",
            "description": "Quarantine blocked files found in sessions using the selected protocols.\n"
          },
          "storeHeuristic": {
            "type": "string",
            "description": "Quarantine files detected by heuristics found in sessions using the selected protocols.\n"
          },
          "storeInfected": {
            "type": "string",
            "description": "Quarantine infected files found in sessions using the selected protocols.\n"
          },
          "storeMachineLearning": {
            "type": "string",
            "description": "Quarantine files detected by machine learning found in sessions using the selected protocols. Valid values: `imap`, `smtp`, `pop3`, `http`, `ftp`, `nntp`, `imaps`, `smtps`, `pop3s`, `https`, `ftps`, `mapi`, `cifs`, `ssh`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:antivirus/settings:Settings": {
      "description": "Configure AntiVirus settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.antivirus.Settings(\"trname\", {\n    defaultDb: \"extended\",\n    grayware: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.antivirus.Settings(\"trname\",\n    default_db=\"extended\",\n    grayware=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Antivirus.Settings(\"trname\", new()\n    {\n        DefaultDb = \"extended\",\n        Grayware = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/antivirus\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := antivirus.NewSettings(ctx, \"trname\", &antivirus.SettingsArgs{\n\t\t\tDefaultDb: pulumi.String(\"extended\"),\n\t\t\tGrayware:  pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.antivirus.Settings;\nimport com.pulumi.fortios.antivirus.SettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Settings(\"trname\", SettingsArgs.builder()\n            .defaultDb(\"extended\")\n            .grayware(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:antivirus:Settings\n    properties:\n      defaultDb: extended\n      grayware: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAntivirus Settings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:antivirus/settings:Settings labelname AntivirusSettings\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:antivirus/settings:Settings labelname AntivirusSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cacheCleanResult": {
          "type": "string",
          "description": "Enable/disable cache of clean scan results (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "cacheInfectedResult": {
          "type": "string",
          "description": "Enable/disable cache of infected scan results (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "defaultDb": {
          "type": "string",
          "description": "Select the AV database to be used for AV scanning. Valid values: `normal`, `extended`, `extreme`.\n"
        },
        "grayware": {
          "type": "string",
          "description": "Enable/disable grayware detection when an AntiVirus profile is applied to traffic. Valid values: `enable`, `disable`.\n"
        },
        "machineLearningDetection": {
          "type": "string",
          "description": "Use machine learning based malware detection. Valid values: `enable`, `monitor`, `disable`.\n"
        },
        "overrideTimeout": {
          "type": "integer",
          "description": "Override the large file scan timeout value in seconds (30 - 3600). Zero is the default value and is used to disable this command. When disabled, the daemon adjusts the large file scan timeout based on the file size.\n"
        },
        "useExtremeDb": {
          "type": "string",
          "description": "Enable/disable the use of Extreme AVDB. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "cacheCleanResult",
        "cacheInfectedResult",
        "defaultDb",
        "grayware",
        "machineLearningDetection",
        "overrideTimeout",
        "useExtremeDb",
        "vdomparam"
      ],
      "inputProperties": {
        "cacheCleanResult": {
          "type": "string",
          "description": "Enable/disable cache of clean scan results (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "cacheInfectedResult": {
          "type": "string",
          "description": "Enable/disable cache of infected scan results (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "defaultDb": {
          "type": "string",
          "description": "Select the AV database to be used for AV scanning. Valid values: `normal`, `extended`, `extreme`.\n"
        },
        "grayware": {
          "type": "string",
          "description": "Enable/disable grayware detection when an AntiVirus profile is applied to traffic. Valid values: `enable`, `disable`.\n"
        },
        "machineLearningDetection": {
          "type": "string",
          "description": "Use machine learning based malware detection. Valid values: `enable`, `monitor`, `disable`.\n"
        },
        "overrideTimeout": {
          "type": "integer",
          "description": "Override the large file scan timeout value in seconds (30 - 3600). Zero is the default value and is used to disable this command. When disabled, the daemon adjusts the large file scan timeout based on the file size.\n"
        },
        "useExtremeDb": {
          "type": "string",
          "description": "Enable/disable the use of Extreme AVDB. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Settings resources.\n",
        "properties": {
          "cacheCleanResult": {
            "type": "string",
            "description": "Enable/disable cache of clean scan results (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "cacheInfectedResult": {
            "type": "string",
            "description": "Enable/disable cache of infected scan results (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "defaultDb": {
            "type": "string",
            "description": "Select the AV database to be used for AV scanning. Valid values: `normal`, `extended`, `extreme`.\n"
          },
          "grayware": {
            "type": "string",
            "description": "Enable/disable grayware detection when an AntiVirus profile is applied to traffic. Valid values: `enable`, `disable`.\n"
          },
          "machineLearningDetection": {
            "type": "string",
            "description": "Use machine learning based malware detection. Valid values: `enable`, `monitor`, `disable`.\n"
          },
          "overrideTimeout": {
            "type": "integer",
            "description": "Override the large file scan timeout value in seconds (30 - 3600). Zero is the default value and is used to disable this command. When disabled, the daemon adjusts the large file scan timeout based on the file size.\n"
          },
          "useExtremeDb": {
            "type": "string",
            "description": "Enable/disable the use of Extreme AVDB. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:application/custom:Custom": {
      "description": "Configure custom application signatures.\n\n## Import\n\nApplication Custom can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:application/custom:Custom labelname {{tag}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:application/custom:Custom labelname {{tag}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "behavior": {
          "type": "string",
          "description": "Custom application signature behavior.\n"
        },
        "category": {
          "type": "integer",
          "description": "Custom application category ID (use ? to view available options).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Custom application category ID (use ? to view available options).\n"
        },
        "name": {
          "type": "string",
          "description": "Name of this custom application signature.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Custom application signature protocol.\n"
        },
        "signature": {
          "type": "string",
          "description": "The text that makes up the actual custom application signature.\n"
        },
        "tag": {
          "type": "string",
          "description": "Signature tag.\n"
        },
        "technology": {
          "type": "string",
          "description": "Custom application signature technology.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vendor": {
          "type": "string",
          "description": "Custom application signature vendor.\n"
        }
      },
      "type": "object",
      "required": [
        "behavior",
        "category",
        "comment",
        "fosid",
        "name",
        "protocol",
        "signature",
        "tag",
        "technology",
        "vdomparam",
        "vendor"
      ],
      "inputProperties": {
        "behavior": {
          "type": "string",
          "description": "Custom application signature behavior.\n"
        },
        "category": {
          "type": "integer",
          "description": "Custom application category ID (use ? to view available options).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Custom application category ID (use ? to view available options).\n"
        },
        "name": {
          "type": "string",
          "description": "Name of this custom application signature.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Custom application signature protocol.\n"
        },
        "signature": {
          "type": "string",
          "description": "The text that makes up the actual custom application signature.\n"
        },
        "tag": {
          "type": "string",
          "description": "Signature tag.\n",
          "willReplaceOnChanges": true
        },
        "technology": {
          "type": "string",
          "description": "Custom application signature technology.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vendor": {
          "type": "string",
          "description": "Custom application signature vendor.\n"
        }
      },
      "requiredInputs": [
        "category"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Custom resources.\n",
        "properties": {
          "behavior": {
            "type": "string",
            "description": "Custom application signature behavior.\n"
          },
          "category": {
            "type": "integer",
            "description": "Custom application category ID (use ? to view available options).\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Custom application category ID (use ? to view available options).\n"
          },
          "name": {
            "type": "string",
            "description": "Name of this custom application signature.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Custom application signature protocol.\n"
          },
          "signature": {
            "type": "string",
            "description": "The text that makes up the actual custom application signature.\n"
          },
          "tag": {
            "type": "string",
            "description": "Signature tag.\n",
            "willReplaceOnChanges": true
          },
          "technology": {
            "type": "string",
            "description": "Custom application signature technology.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vendor": {
            "type": "string",
            "description": "Custom application signature vendor.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:application/group:Group": {
      "description": "Configure firewall application groups.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.application.Group(\"trname\", {\n    categories: [{\n        id: 2,\n    }],\n    comment: \"group1 test\",\n    type: \"category\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.application.Group(\"trname\",\n    categories=[fortios.application.GroupCategoryArgs(\n        id=2,\n    )],\n    comment=\"group1 test\",\n    type=\"category\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Application.Group(\"trname\", new()\n    {\n        Categories = new[]\n        {\n            new Fortios.Application.Inputs.GroupCategoryArgs\n            {\n                Id = 2,\n            },\n        },\n        Comment = \"group1 test\",\n        Type = \"category\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/application\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := application.NewGroup(ctx, \"trname\", &application.GroupArgs{\n\t\t\tCategories: application.GroupCategoryArray{\n\t\t\t\t&application.GroupCategoryArgs{\n\t\t\t\t\tId: pulumi.Int(2),\n\t\t\t\t},\n\t\t\t},\n\t\t\tComment: pulumi.String(\"group1 test\"),\n\t\t\tType:    pulumi.String(\"category\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.application.Group;\nimport com.pulumi.fortios.application.GroupArgs;\nimport com.pulumi.fortios.application.inputs.GroupCategoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Group(\"trname\", GroupArgs.builder()\n            .categories(GroupCategoryArgs.builder()\n                .id(2)\n                .build())\n            .comment(\"group1 test\")\n            .type(\"category\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:application:Group\n    properties:\n      categories:\n        - id: 2\n      comment: group1 test\n      type: category\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nApplication Group can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:application/group:Group labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:application/group:Group labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FGroupApplication:GroupApplication"
          },
          "description": "Application ID list. The structure of `application` block is documented below.\n"
        },
        "behavior": {
          "type": "string",
          "description": "Application behavior filter.\n"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FGroupCategory:GroupCategory"
          },
          "description": "Application category ID list. The structure of `category` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Application group name.\n"
        },
        "popularity": {
          "type": "string",
          "description": "Application popularity filter (1 - 5, from least to most popular). Valid values: `1`, `2`, `3`, `4`, `5`.\n"
        },
        "protocols": {
          "type": "string",
          "description": "Application protocol filter.\n"
        },
        "risks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FGroupRisk:GroupRisk"
          },
          "description": "Risk, or impact, of allowing traffic from this application to occur (1 - 5; Low, Elevated, Medium, High, and Critical). The structure of `risk` block is documented below.\n"
        },
        "technology": {
          "type": "string",
          "description": "Application technology filter.\n"
        },
        "type": {
          "type": "string",
          "description": "Application group type.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vendor": {
          "type": "string",
          "description": "Application vendor filter.\n"
        }
      },
      "type": "object",
      "required": [
        "behavior",
        "name",
        "popularity",
        "protocols",
        "technology",
        "type",
        "vdomparam",
        "vendor"
      ],
      "inputProperties": {
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FGroupApplication:GroupApplication"
          },
          "description": "Application ID list. The structure of `application` block is documented below.\n"
        },
        "behavior": {
          "type": "string",
          "description": "Application behavior filter.\n"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FGroupCategory:GroupCategory"
          },
          "description": "Application category ID list. The structure of `category` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Application group name.\n",
          "willReplaceOnChanges": true
        },
        "popularity": {
          "type": "string",
          "description": "Application popularity filter (1 - 5, from least to most popular). Valid values: `1`, `2`, `3`, `4`, `5`.\n"
        },
        "protocols": {
          "type": "string",
          "description": "Application protocol filter.\n"
        },
        "risks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FGroupRisk:GroupRisk"
          },
          "description": "Risk, or impact, of allowing traffic from this application to occur (1 - 5; Low, Elevated, Medium, High, and Critical). The structure of `risk` block is documented below.\n"
        },
        "technology": {
          "type": "string",
          "description": "Application technology filter.\n"
        },
        "type": {
          "type": "string",
          "description": "Application group type.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vendor": {
          "type": "string",
          "description": "Application vendor filter.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Group resources.\n",
        "properties": {
          "applications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:application%2FGroupApplication:GroupApplication"
            },
            "description": "Application ID list. The structure of `application` block is documented below.\n"
          },
          "behavior": {
            "type": "string",
            "description": "Application behavior filter.\n"
          },
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:application%2FGroupCategory:GroupCategory"
            },
            "description": "Application category ID list. The structure of `category` block is documented below.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Application group name.\n",
            "willReplaceOnChanges": true
          },
          "popularity": {
            "type": "string",
            "description": "Application popularity filter (1 - 5, from least to most popular). Valid values: `1`, `2`, `3`, `4`, `5`.\n"
          },
          "protocols": {
            "type": "string",
            "description": "Application protocol filter.\n"
          },
          "risks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:application%2FGroupRisk:GroupRisk"
            },
            "description": "Risk, or impact, of allowing traffic from this application to occur (1 - 5; Low, Elevated, Medium, High, and Critical). The structure of `risk` block is documented below.\n"
          },
          "technology": {
            "type": "string",
            "description": "Application technology filter.\n"
          },
          "type": {
            "type": "string",
            "description": "Application group type.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vendor": {
            "type": "string",
            "description": "Application vendor filter.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:application/list:List": {
      "description": "Configure application control lists.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.application.List(\"trname\", {\n    appReplacemsg: \"enable\",\n    deepAppInspection: \"enable\",\n    enforceDefaultAppPort: \"disable\",\n    extendedLog: \"disable\",\n    options: \"allow-dns\",\n    otherApplicationAction: \"pass\",\n    otherApplicationLog: \"disable\",\n    unknownApplicationAction: \"pass\",\n    unknownApplicationLog: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.application.List(\"trname\",\n    app_replacemsg=\"enable\",\n    deep_app_inspection=\"enable\",\n    enforce_default_app_port=\"disable\",\n    extended_log=\"disable\",\n    options=\"allow-dns\",\n    other_application_action=\"pass\",\n    other_application_log=\"disable\",\n    unknown_application_action=\"pass\",\n    unknown_application_log=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Application.List(\"trname\", new()\n    {\n        AppReplacemsg = \"enable\",\n        DeepAppInspection = \"enable\",\n        EnforceDefaultAppPort = \"disable\",\n        ExtendedLog = \"disable\",\n        Options = \"allow-dns\",\n        OtherApplicationAction = \"pass\",\n        OtherApplicationLog = \"disable\",\n        UnknownApplicationAction = \"pass\",\n        UnknownApplicationLog = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/application\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := application.NewList(ctx, \"trname\", &application.ListArgs{\n\t\t\tAppReplacemsg:            pulumi.String(\"enable\"),\n\t\t\tDeepAppInspection:        pulumi.String(\"enable\"),\n\t\t\tEnforceDefaultAppPort:    pulumi.String(\"disable\"),\n\t\t\tExtendedLog:              pulumi.String(\"disable\"),\n\t\t\tOptions:                  pulumi.String(\"allow-dns\"),\n\t\t\tOtherApplicationAction:   pulumi.String(\"pass\"),\n\t\t\tOtherApplicationLog:      pulumi.String(\"disable\"),\n\t\t\tUnknownApplicationAction: pulumi.String(\"pass\"),\n\t\t\tUnknownApplicationLog:    pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.application.List;\nimport com.pulumi.fortios.application.ListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new List(\"trname\", ListArgs.builder()\n            .appReplacemsg(\"enable\")\n            .deepAppInspection(\"enable\")\n            .enforceDefaultAppPort(\"disable\")\n            .extendedLog(\"disable\")\n            .options(\"allow-dns\")\n            .otherApplicationAction(\"pass\")\n            .otherApplicationLog(\"disable\")\n            .unknownApplicationAction(\"pass\")\n            .unknownApplicationLog(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:application:List\n    properties:\n      appReplacemsg: enable\n      deepAppInspection: enable\n      enforceDefaultAppPort: disable\n      extendedLog: disable\n      options: allow-dns\n      otherApplicationAction: pass\n      otherApplicationLog: disable\n      unknownApplicationAction: pass\n      unknownApplicationLog: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nApplication List can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:application/list:List labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:application/list:List labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "appReplacemsg": {
          "type": "string",
          "description": "Enable/disable replacement messages for blocked applications. Valid values: `disable`, `enable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "comments\n"
        },
        "controlDefaultNetworkServices": {
          "type": "string",
          "description": "Enable/disable enforcement of protocols over selected ports. Valid values: `disable`, `enable`.\n"
        },
        "deepAppInspection": {
          "type": "string",
          "description": "Enable/disable deep application inspection. Valid values: `disable`, `enable`.\n"
        },
        "defaultNetworkServices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListDefaultNetworkService:ListDefaultNetworkService"
          },
          "description": "Default network service entries. The structure of `default_network_services` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "enforceDefaultAppPort": {
          "type": "string",
          "description": "Enable/disable default application port enforcement for allowed applications. Valid values: `disable`, `enable`.\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListEntry:ListEntry"
          },
          "description": "Application list entries. The structure of `entries` block is documented below.\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging. Valid values: `enable`, `disable`.\n"
        },
        "forceInclusionSslDiSigs": {
          "type": "string",
          "description": "Enable/disable forced inclusion of SSL deep inspection signatures. Valid values: `disable`, `enable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "List name.\n"
        },
        "options": {
          "type": "string",
          "description": "Basic application protocol signatures allowed by default.\n"
        },
        "otherApplicationAction": {
          "type": "string",
          "description": "Action for other applications. Valid values: `pass`, `block`.\n"
        },
        "otherApplicationLog": {
          "type": "string",
          "description": "Enable/disable logging for other applications. Valid values: `disable`, `enable`.\n"
        },
        "p2pBlackList": {
          "type": "string",
          "description": "P2P applications to be black listed. Valid values: `skype`, `edonkey`, `bittorrent`.\n"
        },
        "p2pBlockList": {
          "type": "string",
          "description": "P2P applications to be blocklisted. Valid values: `skype`, `edonkey`, `bittorrent`.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "unknownApplicationAction": {
          "type": "string",
          "description": "Pass or block traffic from unknown applications. Valid values: `pass`, `block`.\n"
        },
        "unknownApplicationLog": {
          "type": "string",
          "description": "Enable/disable logging for unknown applications. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "appReplacemsg",
        "controlDefaultNetworkServices",
        "deepAppInspection",
        "enforceDefaultAppPort",
        "extendedLog",
        "forceInclusionSslDiSigs",
        "name",
        "options",
        "otherApplicationAction",
        "otherApplicationLog",
        "p2pBlackList",
        "p2pBlockList",
        "replacemsgGroup",
        "unknownApplicationAction",
        "unknownApplicationLog",
        "vdomparam"
      ],
      "inputProperties": {
        "appReplacemsg": {
          "type": "string",
          "description": "Enable/disable replacement messages for blocked applications. Valid values: `disable`, `enable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "comments\n"
        },
        "controlDefaultNetworkServices": {
          "type": "string",
          "description": "Enable/disable enforcement of protocols over selected ports. Valid values: `disable`, `enable`.\n"
        },
        "deepAppInspection": {
          "type": "string",
          "description": "Enable/disable deep application inspection. Valid values: `disable`, `enable`.\n"
        },
        "defaultNetworkServices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListDefaultNetworkService:ListDefaultNetworkService"
          },
          "description": "Default network service entries. The structure of `default_network_services` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "enforceDefaultAppPort": {
          "type": "string",
          "description": "Enable/disable default application port enforcement for allowed applications. Valid values: `disable`, `enable`.\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FListEntry:ListEntry"
          },
          "description": "Application list entries. The structure of `entries` block is documented below.\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging. Valid values: `enable`, `disable`.\n"
        },
        "forceInclusionSslDiSigs": {
          "type": "string",
          "description": "Enable/disable forced inclusion of SSL deep inspection signatures. Valid values: `disable`, `enable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "List name.\n",
          "willReplaceOnChanges": true
        },
        "options": {
          "type": "string",
          "description": "Basic application protocol signatures allowed by default.\n"
        },
        "otherApplicationAction": {
          "type": "string",
          "description": "Action for other applications. Valid values: `pass`, `block`.\n"
        },
        "otherApplicationLog": {
          "type": "string",
          "description": "Enable/disable logging for other applications. Valid values: `disable`, `enable`.\n"
        },
        "p2pBlackList": {
          "type": "string",
          "description": "P2P applications to be black listed. Valid values: `skype`, `edonkey`, `bittorrent`.\n"
        },
        "p2pBlockList": {
          "type": "string",
          "description": "P2P applications to be blocklisted. Valid values: `skype`, `edonkey`, `bittorrent`.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "unknownApplicationAction": {
          "type": "string",
          "description": "Pass or block traffic from unknown applications. Valid values: `pass`, `block`.\n"
        },
        "unknownApplicationLog": {
          "type": "string",
          "description": "Enable/disable logging for unknown applications. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering List resources.\n",
        "properties": {
          "appReplacemsg": {
            "type": "string",
            "description": "Enable/disable replacement messages for blocked applications. Valid values: `disable`, `enable`.\n"
          },
          "comment": {
            "type": "string",
            "description": "comments\n"
          },
          "controlDefaultNetworkServices": {
            "type": "string",
            "description": "Enable/disable enforcement of protocols over selected ports. Valid values: `disable`, `enable`.\n"
          },
          "deepAppInspection": {
            "type": "string",
            "description": "Enable/disable deep application inspection. Valid values: `disable`, `enable`.\n"
          },
          "defaultNetworkServices": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:application%2FListDefaultNetworkService:ListDefaultNetworkService"
            },
            "description": "Default network service entries. The structure of `default_network_services` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "enforceDefaultAppPort": {
            "type": "string",
            "description": "Enable/disable default application port enforcement for allowed applications. Valid values: `disable`, `enable`.\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:application%2FListEntry:ListEntry"
            },
            "description": "Application list entries. The structure of `entries` block is documented below.\n"
          },
          "extendedLog": {
            "type": "string",
            "description": "Enable/disable extended logging. Valid values: `enable`, `disable`.\n"
          },
          "forceInclusionSslDiSigs": {
            "type": "string",
            "description": "Enable/disable forced inclusion of SSL deep inspection signatures. Valid values: `disable`, `enable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "List name.\n",
            "willReplaceOnChanges": true
          },
          "options": {
            "type": "string",
            "description": "Basic application protocol signatures allowed by default.\n"
          },
          "otherApplicationAction": {
            "type": "string",
            "description": "Action for other applications. Valid values: `pass`, `block`.\n"
          },
          "otherApplicationLog": {
            "type": "string",
            "description": "Enable/disable logging for other applications. Valid values: `disable`, `enable`.\n"
          },
          "p2pBlackList": {
            "type": "string",
            "description": "P2P applications to be black listed. Valid values: `skype`, `edonkey`, `bittorrent`.\n"
          },
          "p2pBlockList": {
            "type": "string",
            "description": "P2P applications to be blocklisted. Valid values: `skype`, `edonkey`, `bittorrent`.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group.\n"
          },
          "unknownApplicationAction": {
            "type": "string",
            "description": "Pass or block traffic from unknown applications. Valid values: `pass`, `block`.\n"
          },
          "unknownApplicationLog": {
            "type": "string",
            "description": "Enable/disable logging for unknown applications. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:application/name:Name": {
      "description": "Configure application signatures.\n\n## Import\n\nApplication Name can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:application/name:Name labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:application/name:Name labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "behavior": {
          "type": "string",
          "description": "Application behavior.\n"
        },
        "category": {
          "type": "integer",
          "description": "Application category ID.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Application ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "metadatas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FNameMetadata:NameMetadata"
          },
          "description": "Meta data. The structure of `metadata` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Application name.\n"
        },
        "parameter": {
          "type": "string",
          "description": "Application parameter name.\n"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FNameParameter:NameParameter"
          },
          "description": "Application parameters. The structure of `parameters` block is documented below.\n"
        },
        "popularity": {
          "type": "integer",
          "description": "Application popularity.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Application protocol.\n"
        },
        "risk": {
          "type": "integer",
          "description": "Application risk.\n"
        },
        "subCategory": {
          "type": "integer",
          "description": "Application sub-category ID.\n"
        },
        "technology": {
          "type": "string",
          "description": "Application technology.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vendor": {
          "type": "string",
          "description": "Application vendor.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Application weight.\n"
        }
      },
      "type": "object",
      "required": [
        "behavior",
        "category",
        "fosid",
        "name",
        "parameter",
        "popularity",
        "protocol",
        "risk",
        "subCategory",
        "technology",
        "vdomparam",
        "vendor",
        "weight"
      ],
      "language": {
        "csharp": {
          "name": "ApplicationName"
        }
      },
      "inputProperties": {
        "behavior": {
          "type": "string",
          "description": "Application behavior.\n"
        },
        "category": {
          "type": "integer",
          "description": "Application category ID.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Application ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "metadatas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FNameMetadata:NameMetadata"
          },
          "description": "Meta data. The structure of `metadata` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Application name.\n",
          "willReplaceOnChanges": true
        },
        "parameter": {
          "type": "string",
          "description": "Application parameter name.\n"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:application%2FNameParameter:NameParameter"
          },
          "description": "Application parameters. The structure of `parameters` block is documented below.\n"
        },
        "popularity": {
          "type": "integer",
          "description": "Application popularity.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Application protocol.\n"
        },
        "risk": {
          "type": "integer",
          "description": "Application risk.\n"
        },
        "subCategory": {
          "type": "integer",
          "description": "Application sub-category ID.\n"
        },
        "technology": {
          "type": "string",
          "description": "Application technology.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vendor": {
          "type": "string",
          "description": "Application vendor.\n"
        },
        "weight": {
          "type": "integer",
          "description": "Application weight.\n"
        }
      },
      "requiredInputs": [
        "category"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Name resources.\n",
        "properties": {
          "behavior": {
            "type": "string",
            "description": "Application behavior.\n"
          },
          "category": {
            "type": "integer",
            "description": "Application category ID.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Application ID.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "metadatas": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:application%2FNameMetadata:NameMetadata"
            },
            "description": "Meta data. The structure of `metadata` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Application name.\n",
            "willReplaceOnChanges": true
          },
          "parameter": {
            "type": "string",
            "description": "Application parameter name.\n"
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:application%2FNameParameter:NameParameter"
            },
            "description": "Application parameters. The structure of `parameters` block is documented below.\n"
          },
          "popularity": {
            "type": "integer",
            "description": "Application popularity.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Application protocol.\n"
          },
          "risk": {
            "type": "integer",
            "description": "Application risk.\n"
          },
          "subCategory": {
            "type": "integer",
            "description": "Application sub-category ID.\n"
          },
          "technology": {
            "type": "string",
            "description": "Application technology.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vendor": {
            "type": "string",
            "description": "Application vendor.\n"
          },
          "weight": {
            "type": "integer",
            "description": "Application weight.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:application/rulesettings:Rulesettings": {
      "description": "Configure application rule settings.\n\n## Import\n\nApplication RuleSettings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:application/rulesettings:Rulesettings labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:application/rulesettings:Rulesettings labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Rulesettings resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Rule ID.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:authentication/rule:Rule": {
      "description": "Configure Authentication Rules.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.authentication.Rule(\"trname\", {\n    ipBased: \"enable\",\n    protocol: \"ftp\",\n    status: \"enable\",\n    transactionBased: \"disable\",\n    webAuthCookie: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.authentication.Rule(\"trname\",\n    ip_based=\"enable\",\n    protocol=\"ftp\",\n    status=\"enable\",\n    transaction_based=\"disable\",\n    web_auth_cookie=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Authentication.Rule(\"trname\", new()\n    {\n        IpBased = \"enable\",\n        Protocol = \"ftp\",\n        Status = \"enable\",\n        TransactionBased = \"disable\",\n        WebAuthCookie = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/authentication\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := authentication.NewRule(ctx, \"trname\", &authentication.RuleArgs{\n\t\t\tIpBased:          pulumi.String(\"enable\"),\n\t\t\tProtocol:         pulumi.String(\"ftp\"),\n\t\t\tStatus:           pulumi.String(\"enable\"),\n\t\t\tTransactionBased: pulumi.String(\"disable\"),\n\t\t\tWebAuthCookie:    pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.authentication.Rule;\nimport com.pulumi.fortios.authentication.RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Rule(\"trname\", RuleArgs.builder()\n            .ipBased(\"enable\")\n            .protocol(\"ftp\")\n            .status(\"enable\")\n            .transactionBased(\"disable\")\n            .webAuthCookie(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:authentication:Rule\n    properties:\n      ipBased: enable\n      protocol: ftp\n      status: enable\n      transactionBased: disable\n      webAuthCookie: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAuthentication Rule can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:authentication/rule:Rule labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:authentication/rule:Rule labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "activeAuthMethod": {
          "type": "string",
          "description": "Select an active authentication method.\n"
        },
        "certAuthCookie": {
          "type": "string",
          "description": "Enable/disable to use device certificate as authentication cookie (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "corsDepth": {
          "type": "integer",
          "description": "Depth to allow CORS access (default = 3).\n"
        },
        "corsStateful": {
          "type": "string",
          "description": "Enable/disable allowance of CORS access (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FRuleDstaddr6:RuleDstaddr6"
          },
          "description": "Select an IPv6 destination address from available options. Required for web proxy authentication. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FRuleDstaddr:RuleDstaddr"
          },
          "description": "Select an IPv4 destination address from available options. Required for web proxy authentication. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ipBased": {
          "type": "string",
          "description": "Enable/disable IP-based authentication. Once a user authenticates all traffic from the IP address the user authenticated from is allowed. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Authentication rule name.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Authentication is required for the selected protocol (default = http). Valid values: `http`, `ftp`, `socks`, `ssh`.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FRuleSrcaddr6:RuleSrcaddr6"
          },
          "description": "Select an IPv6 source address. Required for web proxy authentication. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FRuleSrcaddr:RuleSrcaddr"
          },
          "description": "Select an IPv4 source address from available options. Required for web proxy authentication. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FRuleSrcintf:RuleSrcintf"
          },
          "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
        },
        "ssoAuthMethod": {
          "type": "string",
          "description": "Select a single-sign on (SSO) authentication method.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this authentication rule. Valid values: `enable`, `disable`.\n"
        },
        "transactionBased": {
          "type": "string",
          "description": "Enable/disable transaction based authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "webAuthCookie": {
          "type": "string",
          "description": "Enable/disable Web authentication cookies (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "webPortal": {
          "type": "string",
          "description": "Enable/disable web portal for proxy transparent policy (default = enable). Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "activeAuthMethod",
        "certAuthCookie",
        "corsDepth",
        "corsStateful",
        "ipBased",
        "name",
        "protocol",
        "ssoAuthMethod",
        "status",
        "transactionBased",
        "vdomparam",
        "webAuthCookie",
        "webPortal"
      ],
      "inputProperties": {
        "activeAuthMethod": {
          "type": "string",
          "description": "Select an active authentication method.\n"
        },
        "certAuthCookie": {
          "type": "string",
          "description": "Enable/disable to use device certificate as authentication cookie (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "corsDepth": {
          "type": "integer",
          "description": "Depth to allow CORS access (default = 3).\n"
        },
        "corsStateful": {
          "type": "string",
          "description": "Enable/disable allowance of CORS access (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FRuleDstaddr6:RuleDstaddr6"
          },
          "description": "Select an IPv6 destination address from available options. Required for web proxy authentication. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FRuleDstaddr:RuleDstaddr"
          },
          "description": "Select an IPv4 destination address from available options. Required for web proxy authentication. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ipBased": {
          "type": "string",
          "description": "Enable/disable IP-based authentication. Once a user authenticates all traffic from the IP address the user authenticated from is allowed. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Authentication rule name.\n",
          "willReplaceOnChanges": true
        },
        "protocol": {
          "type": "string",
          "description": "Authentication is required for the selected protocol (default = http). Valid values: `http`, `ftp`, `socks`, `ssh`.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FRuleSrcaddr6:RuleSrcaddr6"
          },
          "description": "Select an IPv6 source address. Required for web proxy authentication. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FRuleSrcaddr:RuleSrcaddr"
          },
          "description": "Select an IPv4 source address from available options. Required for web proxy authentication. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FRuleSrcintf:RuleSrcintf"
          },
          "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
        },
        "ssoAuthMethod": {
          "type": "string",
          "description": "Select a single-sign on (SSO) authentication method.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this authentication rule. Valid values: `enable`, `disable`.\n"
        },
        "transactionBased": {
          "type": "string",
          "description": "Enable/disable transaction based authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "webAuthCookie": {
          "type": "string",
          "description": "Enable/disable Web authentication cookies (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "webPortal": {
          "type": "string",
          "description": "Enable/disable web portal for proxy transparent policy (default = enable). Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Rule resources.\n",
        "properties": {
          "activeAuthMethod": {
            "type": "string",
            "description": "Select an active authentication method.\n"
          },
          "certAuthCookie": {
            "type": "string",
            "description": "Enable/disable to use device certificate as authentication cookie (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "corsDepth": {
            "type": "integer",
            "description": "Depth to allow CORS access (default = 3).\n"
          },
          "corsStateful": {
            "type": "string",
            "description": "Enable/disable allowance of CORS access (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "dstaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:authentication%2FRuleDstaddr6:RuleDstaddr6"
            },
            "description": "Select an IPv6 destination address from available options. Required for web proxy authentication. The structure of `dstaddr6` block is documented below.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:authentication%2FRuleDstaddr:RuleDstaddr"
            },
            "description": "Select an IPv4 destination address from available options. Required for web proxy authentication. The structure of `dstaddr` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ipBased": {
            "type": "string",
            "description": "Enable/disable IP-based authentication. Once a user authenticates all traffic from the IP address the user authenticated from is allowed. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Authentication rule name.\n",
            "willReplaceOnChanges": true
          },
          "protocol": {
            "type": "string",
            "description": "Authentication is required for the selected protocol (default = http). Valid values: `http`, `ftp`, `socks`, `ssh`.\n"
          },
          "srcaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:authentication%2FRuleSrcaddr6:RuleSrcaddr6"
            },
            "description": "Select an IPv6 source address. Required for web proxy authentication. The structure of `srcaddr6` block is documented below.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:authentication%2FRuleSrcaddr:RuleSrcaddr"
            },
            "description": "Select an IPv4 source address from available options. Required for web proxy authentication. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:authentication%2FRuleSrcintf:RuleSrcintf"
            },
            "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
          },
          "ssoAuthMethod": {
            "type": "string",
            "description": "Select a single-sign on (SSO) authentication method.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this authentication rule. Valid values: `enable`, `disable`.\n"
          },
          "transactionBased": {
            "type": "string",
            "description": "Enable/disable transaction based authentication (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "webAuthCookie": {
            "type": "string",
            "description": "Enable/disable Web authentication cookies (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "webPortal": {
            "type": "string",
            "description": "Enable/disable web portal for proxy transparent policy (default = enable). Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:authentication/scheme:Scheme": {
      "description": "Configure Authentication Schemes.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname3 = new fortios.user.Fsso(\"trname3\", {\n    port: 8000,\n    port2: 8000,\n    port3: 8000,\n    port4: 8000,\n    port5: 8000,\n    server: \"1.1.1.1\",\n    sourceIp: \"0.0.0.0\",\n    sourceIp6: \"::\",\n});\nconst trname = new fortios.authentication.Scheme(\"trname\", {\n    fssoAgentForNtlm: trname3.name,\n    fssoGuest: \"disable\",\n    method: \"ntlm\",\n    negotiateNtlm: \"enable\",\n    requireTfa: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname3 = fortios.user.Fsso(\"trname3\",\n    port=8000,\n    port2=8000,\n    port3=8000,\n    port4=8000,\n    port5=8000,\n    server=\"1.1.1.1\",\n    source_ip=\"0.0.0.0\",\n    source_ip6=\"::\")\ntrname = fortios.authentication.Scheme(\"trname\",\n    fsso_agent_for_ntlm=trname3.name,\n    fsso_guest=\"disable\",\n    method=\"ntlm\",\n    negotiate_ntlm=\"enable\",\n    require_tfa=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname3 = new Fortios.User.Fsso(\"trname3\", new()\n    {\n        Port = 8000,\n        Port2 = 8000,\n        Port3 = 8000,\n        Port4 = 8000,\n        Port5 = 8000,\n        Server = \"1.1.1.1\",\n        SourceIp = \"0.0.0.0\",\n        SourceIp6 = \"::\",\n    });\n\n    var trname = new Fortios.Authentication.Scheme(\"trname\", new()\n    {\n        FssoAgentForNtlm = trname3.Name,\n        FssoGuest = \"disable\",\n        Method = \"ntlm\",\n        NegotiateNtlm = \"enable\",\n        RequireTfa = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/authentication\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/user\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname3, err := user.NewFsso(ctx, \"trname3\", &user.FssoArgs{\n\t\t\tPort:      pulumi.Int(8000),\n\t\t\tPort2:     pulumi.Int(8000),\n\t\t\tPort3:     pulumi.Int(8000),\n\t\t\tPort4:     pulumi.Int(8000),\n\t\t\tPort5:     pulumi.Int(8000),\n\t\t\tServer:    pulumi.String(\"1.1.1.1\"),\n\t\t\tSourceIp:  pulumi.String(\"0.0.0.0\"),\n\t\t\tSourceIp6: pulumi.String(\"::\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = authentication.NewScheme(ctx, \"trname\", &authentication.SchemeArgs{\n\t\t\tFssoAgentForNtlm: trname3.Name,\n\t\t\tFssoGuest:        pulumi.String(\"disable\"),\n\t\t\tMethod:           pulumi.String(\"ntlm\"),\n\t\t\tNegotiateNtlm:    pulumi.String(\"enable\"),\n\t\t\tRequireTfa:       pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.user.Fsso;\nimport com.pulumi.fortios.user.FssoArgs;\nimport com.pulumi.fortios.authentication.Scheme;\nimport com.pulumi.fortios.authentication.SchemeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname3 = new Fsso(\"trname3\", FssoArgs.builder()\n            .port(8000)\n            .port2(8000)\n            .port3(8000)\n            .port4(8000)\n            .port5(8000)\n            .server(\"1.1.1.1\")\n            .sourceIp(\"0.0.0.0\")\n            .sourceIp6(\"::\")\n            .build());\n\n        var trname = new Scheme(\"trname\", SchemeArgs.builder()\n            .fssoAgentForNtlm(trname3.name())\n            .fssoGuest(\"disable\")\n            .method(\"ntlm\")\n            .negotiateNtlm(\"enable\")\n            .requireTfa(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname3:\n    type: fortios:user:Fsso\n    properties:\n      port: 8000\n      port2: 8000\n      port3: 8000\n      port4: 8000\n      port5: 8000\n      server: 1.1.1.1\n      sourceIp: 0.0.0.0\n      sourceIp6: '::'\n  trname:\n    type: fortios:authentication:Scheme\n    properties:\n      fssoAgentForNtlm: ${trname3.name}\n      fssoGuest: disable\n      method: ntlm\n      negotiateNtlm: enable\n      requireTfa: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAuthentication Scheme can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:authentication/scheme:Scheme labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:authentication/scheme:Scheme labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "domainController": {
          "type": "string",
          "description": "Domain controller setting.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fssoAgentForNtlm": {
          "type": "string",
          "description": "FSSO agent to use for NTLM authentication.\n"
        },
        "fssoGuest": {
          "type": "string",
          "description": "Enable/disable user fsso-guest authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "kerberosKeytab": {
          "type": "string",
          "description": "Kerberos keytab setting.\n"
        },
        "method": {
          "type": "string",
          "description": "Authentication methods (default = basic).\n"
        },
        "name": {
          "type": "string",
          "description": "Authentication scheme name.\n"
        },
        "negotiateNtlm": {
          "type": "string",
          "description": "Enable/disable negotiate authentication for NTLM (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "requireTfa": {
          "type": "string",
          "description": "Enable/disable two-factor authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "samlServer": {
          "type": "string",
          "description": "SAML configuration.\n"
        },
        "samlTimeout": {
          "type": "integer",
          "description": "SAML authentication timeout in seconds.\n"
        },
        "sshCa": {
          "type": "string",
          "description": "SSH CA name.\n"
        },
        "userCert": {
          "type": "string",
          "description": "Enable/disable authentication with user certificate (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "userDatabases": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FSchemeUserDatabase:SchemeUserDatabase"
          },
          "description": "Authentication server to contain user information; \"local\" (default) or \"123\" (for LDAP). The structure of `user_database` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "domainController",
        "fssoAgentForNtlm",
        "fssoGuest",
        "kerberosKeytab",
        "method",
        "name",
        "negotiateNtlm",
        "requireTfa",
        "samlServer",
        "samlTimeout",
        "sshCa",
        "userCert",
        "vdomparam"
      ],
      "inputProperties": {
        "domainController": {
          "type": "string",
          "description": "Domain controller setting.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fssoAgentForNtlm": {
          "type": "string",
          "description": "FSSO agent to use for NTLM authentication.\n"
        },
        "fssoGuest": {
          "type": "string",
          "description": "Enable/disable user fsso-guest authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "kerberosKeytab": {
          "type": "string",
          "description": "Kerberos keytab setting.\n"
        },
        "method": {
          "type": "string",
          "description": "Authentication methods (default = basic).\n"
        },
        "name": {
          "type": "string",
          "description": "Authentication scheme name.\n",
          "willReplaceOnChanges": true
        },
        "negotiateNtlm": {
          "type": "string",
          "description": "Enable/disable negotiate authentication for NTLM (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "requireTfa": {
          "type": "string",
          "description": "Enable/disable two-factor authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "samlServer": {
          "type": "string",
          "description": "SAML configuration.\n"
        },
        "samlTimeout": {
          "type": "integer",
          "description": "SAML authentication timeout in seconds.\n"
        },
        "sshCa": {
          "type": "string",
          "description": "SSH CA name.\n"
        },
        "userCert": {
          "type": "string",
          "description": "Enable/disable authentication with user certificate (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "userDatabases": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FSchemeUserDatabase:SchemeUserDatabase"
          },
          "description": "Authentication server to contain user information; \"local\" (default) or \"123\" (for LDAP). The structure of `user_database` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "method"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Scheme resources.\n",
        "properties": {
          "domainController": {
            "type": "string",
            "description": "Domain controller setting.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fssoAgentForNtlm": {
            "type": "string",
            "description": "FSSO agent to use for NTLM authentication.\n"
          },
          "fssoGuest": {
            "type": "string",
            "description": "Enable/disable user fsso-guest authentication (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "kerberosKeytab": {
            "type": "string",
            "description": "Kerberos keytab setting.\n"
          },
          "method": {
            "type": "string",
            "description": "Authentication methods (default = basic).\n"
          },
          "name": {
            "type": "string",
            "description": "Authentication scheme name.\n",
            "willReplaceOnChanges": true
          },
          "negotiateNtlm": {
            "type": "string",
            "description": "Enable/disable negotiate authentication for NTLM (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "requireTfa": {
            "type": "string",
            "description": "Enable/disable two-factor authentication (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "samlServer": {
            "type": "string",
            "description": "SAML configuration.\n"
          },
          "samlTimeout": {
            "type": "integer",
            "description": "SAML authentication timeout in seconds.\n"
          },
          "sshCa": {
            "type": "string",
            "description": "SSH CA name.\n"
          },
          "userCert": {
            "type": "string",
            "description": "Enable/disable authentication with user certificate (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "userDatabases": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:authentication%2FSchemeUserDatabase:SchemeUserDatabase"
            },
            "description": "Authentication server to contain user information; \"local\" (default) or \"123\" (for LDAP). The structure of `user_database` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:authentication/setting:Setting": {
      "description": "Configure authentication setting.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.authentication.Setting(\"trname\", {\n    authHttps: \"enable\",\n    captivePortalIp: \"0.0.0.0\",\n    captivePortalIp6: \"::\",\n    captivePortalPort: 7830,\n    captivePortalSslPort: 7831,\n    captivePortalType: \"fqdn\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.authentication.Setting(\"trname\",\n    auth_https=\"enable\",\n    captive_portal_ip=\"0.0.0.0\",\n    captive_portal_ip6=\"::\",\n    captive_portal_port=7830,\n    captive_portal_ssl_port=7831,\n    captive_portal_type=\"fqdn\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Authentication.Setting(\"trname\", new()\n    {\n        AuthHttps = \"enable\",\n        CaptivePortalIp = \"0.0.0.0\",\n        CaptivePortalIp6 = \"::\",\n        CaptivePortalPort = 7830,\n        CaptivePortalSslPort = 7831,\n        CaptivePortalType = \"fqdn\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/authentication\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := authentication.NewSetting(ctx, \"trname\", &authentication.SettingArgs{\n\t\t\tAuthHttps:            pulumi.String(\"enable\"),\n\t\t\tCaptivePortalIp:      pulumi.String(\"0.0.0.0\"),\n\t\t\tCaptivePortalIp6:     pulumi.String(\"::\"),\n\t\t\tCaptivePortalPort:    pulumi.Int(7830),\n\t\t\tCaptivePortalSslPort: pulumi.Int(7831),\n\t\t\tCaptivePortalType:    pulumi.String(\"fqdn\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.authentication.Setting;\nimport com.pulumi.fortios.authentication.SettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Setting(\"trname\", SettingArgs.builder()\n            .authHttps(\"enable\")\n            .captivePortalIp(\"0.0.0.0\")\n            .captivePortalIp6(\"::\")\n            .captivePortalPort(7830)\n            .captivePortalSslPort(7831)\n            .captivePortalType(\"fqdn\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:authentication:Setting\n    properties:\n      authHttps: enable\n      captivePortalIp: 0.0.0.0\n      captivePortalIp6: '::'\n      captivePortalPort: 7830\n      captivePortalSslPort: 7831\n      captivePortalType: fqdn\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nAuthentication Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:authentication/setting:Setting labelname AuthenticationSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:authentication/setting:Setting labelname AuthenticationSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "activeAuthScheme": {
          "type": "string",
          "description": "Active authentication method (scheme name).\n"
        },
        "authHttps": {
          "type": "string",
          "description": "Enable/disable redirecting HTTP user authentication to HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "captivePortal": {
          "type": "string",
          "description": "Captive portal host name.\n"
        },
        "captivePortal6": {
          "type": "string",
          "description": "IPv6 captive portal host name.\n"
        },
        "captivePortalIp": {
          "type": "string",
          "description": "Captive portal IP address.\n"
        },
        "captivePortalIp6": {
          "type": "string",
          "description": "Captive portal IPv6 address.\n"
        },
        "captivePortalPort": {
          "type": "integer",
          "description": "Captive portal port number (1 - 65535, default = 7830).\n"
        },
        "captivePortalSslPort": {
          "type": "integer",
          "description": "Captive portal SSL port number (1 - 65535, default = 7831).\n"
        },
        "captivePortalType": {
          "type": "string",
          "description": "Captive portal type. Valid values: `fqdn`, `ip`.\n"
        },
        "certAuth": {
          "type": "string",
          "description": "Enable/disable redirecting certificate authentication to HTTPS portal. Valid values: `enable`, `disable`.\n"
        },
        "certCaptivePortal": {
          "type": "string",
          "description": "Certificate captive portal host name.\n"
        },
        "certCaptivePortalIp": {
          "type": "string",
          "description": "Certificate captive portal IP address.\n"
        },
        "certCaptivePortalPort": {
          "type": "integer",
          "description": "Certificate captive portal port number (1 - 65535, default = 7832).\n"
        },
        "cookieMaxAge": {
          "type": "integer",
          "description": "Persistent web portal cookie maximum age in minutes (30 - 10080 (1 week), default = 480 (8 hours)).\n"
        },
        "cookieRefreshDiv": {
          "type": "integer",
          "description": "Refresh rate divider of persistent web portal cookie (default = 2). Refresh value = cookie-max-age/cookie-refresh-div.\n"
        },
        "devRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FSettingDevRange:SettingDevRange"
          },
          "description": "Address range for the IP based device query. The structure of `dev_range` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ipAuthCookie": {
          "type": "string",
          "description": "Enable/disable persistent cookie on IP based web portal authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "persistentCookie": {
          "type": "string",
          "description": "Enable/disable persistent cookie on web portal authentication (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "ssoAuthScheme": {
          "type": "string",
          "description": "Single-Sign-On authentication method (scheme name).\n"
        },
        "updateTime": {
          "type": "string",
          "description": "Time of the last update.\n"
        },
        "userCertCas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FSettingUserCertCa:SettingUserCertCa"
          },
          "description": "CA certificate used for client certificate verification. The structure of `user_cert_ca` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "activeAuthScheme",
        "authHttps",
        "captivePortal",
        "captivePortal6",
        "captivePortalIp",
        "captivePortalIp6",
        "captivePortalPort",
        "captivePortalSslPort",
        "captivePortalType",
        "certAuth",
        "certCaptivePortal",
        "certCaptivePortalIp",
        "certCaptivePortalPort",
        "cookieMaxAge",
        "cookieRefreshDiv",
        "ipAuthCookie",
        "persistentCookie",
        "ssoAuthScheme",
        "updateTime",
        "vdomparam"
      ],
      "inputProperties": {
        "activeAuthScheme": {
          "type": "string",
          "description": "Active authentication method (scheme name).\n"
        },
        "authHttps": {
          "type": "string",
          "description": "Enable/disable redirecting HTTP user authentication to HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "captivePortal": {
          "type": "string",
          "description": "Captive portal host name.\n"
        },
        "captivePortal6": {
          "type": "string",
          "description": "IPv6 captive portal host name.\n"
        },
        "captivePortalIp": {
          "type": "string",
          "description": "Captive portal IP address.\n"
        },
        "captivePortalIp6": {
          "type": "string",
          "description": "Captive portal IPv6 address.\n"
        },
        "captivePortalPort": {
          "type": "integer",
          "description": "Captive portal port number (1 - 65535, default = 7830).\n"
        },
        "captivePortalSslPort": {
          "type": "integer",
          "description": "Captive portal SSL port number (1 - 65535, default = 7831).\n"
        },
        "captivePortalType": {
          "type": "string",
          "description": "Captive portal type. Valid values: `fqdn`, `ip`.\n"
        },
        "certAuth": {
          "type": "string",
          "description": "Enable/disable redirecting certificate authentication to HTTPS portal. Valid values: `enable`, `disable`.\n"
        },
        "certCaptivePortal": {
          "type": "string",
          "description": "Certificate captive portal host name.\n"
        },
        "certCaptivePortalIp": {
          "type": "string",
          "description": "Certificate captive portal IP address.\n"
        },
        "certCaptivePortalPort": {
          "type": "integer",
          "description": "Certificate captive portal port number (1 - 65535, default = 7832).\n"
        },
        "cookieMaxAge": {
          "type": "integer",
          "description": "Persistent web portal cookie maximum age in minutes (30 - 10080 (1 week), default = 480 (8 hours)).\n"
        },
        "cookieRefreshDiv": {
          "type": "integer",
          "description": "Refresh rate divider of persistent web portal cookie (default = 2). Refresh value = cookie-max-age/cookie-refresh-div.\n"
        },
        "devRanges": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FSettingDevRange:SettingDevRange"
          },
          "description": "Address range for the IP based device query. The structure of `dev_range` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ipAuthCookie": {
          "type": "string",
          "description": "Enable/disable persistent cookie on IP based web portal authentication (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "persistentCookie": {
          "type": "string",
          "description": "Enable/disable persistent cookie on web portal authentication (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "ssoAuthScheme": {
          "type": "string",
          "description": "Single-Sign-On authentication method (scheme name).\n"
        },
        "updateTime": {
          "type": "string",
          "description": "Time of the last update.\n"
        },
        "userCertCas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:authentication%2FSettingUserCertCa:SettingUserCertCa"
          },
          "description": "CA certificate used for client certificate verification. The structure of `user_cert_ca` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "activeAuthScheme": {
            "type": "string",
            "description": "Active authentication method (scheme name).\n"
          },
          "authHttps": {
            "type": "string",
            "description": "Enable/disable redirecting HTTP user authentication to HTTPS. Valid values: `enable`, `disable`.\n"
          },
          "captivePortal": {
            "type": "string",
            "description": "Captive portal host name.\n"
          },
          "captivePortal6": {
            "type": "string",
            "description": "IPv6 captive portal host name.\n"
          },
          "captivePortalIp": {
            "type": "string",
            "description": "Captive portal IP address.\n"
          },
          "captivePortalIp6": {
            "type": "string",
            "description": "Captive portal IPv6 address.\n"
          },
          "captivePortalPort": {
            "type": "integer",
            "description": "Captive portal port number (1 - 65535, default = 7830).\n"
          },
          "captivePortalSslPort": {
            "type": "integer",
            "description": "Captive portal SSL port number (1 - 65535, default = 7831).\n"
          },
          "captivePortalType": {
            "type": "string",
            "description": "Captive portal type. Valid values: `fqdn`, `ip`.\n"
          },
          "certAuth": {
            "type": "string",
            "description": "Enable/disable redirecting certificate authentication to HTTPS portal. Valid values: `enable`, `disable`.\n"
          },
          "certCaptivePortal": {
            "type": "string",
            "description": "Certificate captive portal host name.\n"
          },
          "certCaptivePortalIp": {
            "type": "string",
            "description": "Certificate captive portal IP address.\n"
          },
          "certCaptivePortalPort": {
            "type": "integer",
            "description": "Certificate captive portal port number (1 - 65535, default = 7832).\n"
          },
          "cookieMaxAge": {
            "type": "integer",
            "description": "Persistent web portal cookie maximum age in minutes (30 - 10080 (1 week), default = 480 (8 hours)).\n"
          },
          "cookieRefreshDiv": {
            "type": "integer",
            "description": "Refresh rate divider of persistent web portal cookie (default = 2). Refresh value = cookie-max-age/cookie-refresh-div.\n"
          },
          "devRanges": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:authentication%2FSettingDevRange:SettingDevRange"
            },
            "description": "Address range for the IP based device query. The structure of `dev_range` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ipAuthCookie": {
            "type": "string",
            "description": "Enable/disable persistent cookie on IP based web portal authentication (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "persistentCookie": {
            "type": "string",
            "description": "Enable/disable persistent cookie on web portal authentication (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "ssoAuthScheme": {
            "type": "string",
            "description": "Single-Sign-On authentication method (scheme name).\n"
          },
          "updateTime": {
            "type": "string",
            "description": "Time of the last update.\n"
          },
          "userCertCas": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:authentication%2FSettingUserCertCa:SettingUserCertCa"
            },
            "description": "CA certificate used for client certificate verification. The structure of `user_cert_ca` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:automation/setting:Setting": {
      "description": "Automation setting configuration. Applies to FortiOS Version `>= 7.2.0`.\n\n## Import\n\nAutomation Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:automation/setting:Setting labelname AutomationSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:automation/setting:Setting labelname AutomationSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fabricSync": {
          "type": "string",
          "description": "Enable/disable synchronization of automation settings with security fabric. Valid values: `enable`, `disable`.\n"
        },
        "maxConcurrentStitches": {
          "type": "integer",
          "description": "Maximum number of automation stitches that are allowed to run concurrently.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fabricSync",
        "maxConcurrentStitches",
        "vdomparam"
      ],
      "inputProperties": {
        "fabricSync": {
          "type": "string",
          "description": "Enable/disable synchronization of automation settings with security fabric. Valid values: `enable`, `disable`.\n"
        },
        "maxConcurrentStitches": {
          "type": "integer",
          "description": "Maximum number of automation stitches that are allowed to run concurrently.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "fabricSync": {
            "type": "string",
            "description": "Enable/disable synchronization of automation settings with security fabric. Valid values: `enable`, `disable`.\n"
          },
          "maxConcurrentStitches": {
            "type": "integer",
            "description": "Maximum number of automation stitches that are allowed to run concurrently.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:casb/profile:Profile": {
      "description": "Configure CASB profile. Applies to FortiOS Version `>= 7.4.1`.\n\n## Import\n\nCasb Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:casb/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:casb/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "CASB profile name.\n"
        },
        "saasApplications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FProfileSaasApplication:ProfileSaasApplication"
          },
          "description": "CASB profile SaaS application. The structure of `saas_application` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "CASB profile name.\n",
          "willReplaceOnChanges": true
        },
        "saasApplications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FProfileSaasApplication:ProfileSaasApplication"
          },
          "description": "CASB profile SaaS application. The structure of `saas_application` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "CASB profile name.\n",
            "willReplaceOnChanges": true
          },
          "saasApplications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:casb%2FProfileSaasApplication:ProfileSaasApplication"
            },
            "description": "CASB profile SaaS application. The structure of `saas_application` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:casb/saasapplication:Saasapplication": {
      "description": "Configure CASB SaaS application. Applies to FortiOS Version `>= 7.4.1`.\n\n## Import\n\nCasb SaasApplication can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:casb/saasapplication:Saasapplication labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:casb/saasapplication:Saasapplication labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "casbName": {
          "type": "string",
          "description": "SaaS application signature name.\n"
        },
        "description": {
          "type": "string",
          "description": "SaaS application description.\n"
        },
        "domains": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FSaasapplicationDomain:SaasapplicationDomain"
          },
          "description": "SaaS application domain list. The structure of `domains` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "SaaS application name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable setting. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "SaaS application type. Valid values: `built-in`, `customized`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "casbName",
        "description",
        "name",
        "status",
        "type",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "casbName": {
          "type": "string",
          "description": "SaaS application signature name.\n"
        },
        "description": {
          "type": "string",
          "description": "SaaS application description.\n"
        },
        "domains": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FSaasapplicationDomain:SaasapplicationDomain"
          },
          "description": "SaaS application domain list. The structure of `domains` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "SaaS application name.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "Enable/disable setting. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "SaaS application type. Valid values: `built-in`, `customized`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Saasapplication resources.\n",
        "properties": {
          "casbName": {
            "type": "string",
            "description": "SaaS application signature name.\n"
          },
          "description": {
            "type": "string",
            "description": "SaaS application description.\n"
          },
          "domains": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:casb%2FSaasapplicationDomain:SaasapplicationDomain"
            },
            "description": "SaaS application domain list. The structure of `domains` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "SaaS application name.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "Enable/disable setting. Valid values: `enable`, `disable`.\n"
          },
          "type": {
            "type": "string",
            "description": "SaaS application type. Valid values: `built-in`, `customized`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:casb/useractivity:Useractivity": {
      "description": "Configure CASB user activity. Applies to FortiOS Version `>= 7.4.1`.\n\n## Import\n\nCasb UserActivity can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:casb/useractivity:Useractivity labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:casb/useractivity:Useractivity labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "application": {
          "type": "string",
          "description": "CASB SaaS application name.\n"
        },
        "casbName": {
          "type": "string",
          "description": "CASB user activity signature name.\n"
        },
        "category": {
          "type": "string",
          "description": "CASB user activity category. Valid values: `activity-control`, `tenant-control`, `domain-control`, `safe-search-control`, `other`.\n"
        },
        "controlOptions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FUseractivityControlOption:UseractivityControlOption"
          },
          "description": "CASB control options. The structure of `control_options` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "CASB user activity description.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "matchStrategy": {
          "type": "string",
          "description": "CASB user activity match strategy. Valid values: `and`, `or`.\n"
        },
        "matches": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FUseractivityMatch:UseractivityMatch"
          },
          "description": "CASB user activity match rules. The structure of `match` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "CASB user activity name.\n"
        },
        "status": {
          "type": "string",
          "description": "CASB user activity status. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "CASB user activity type. Valid values: `built-in`, `customized`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "application",
        "casbName",
        "category",
        "description",
        "matchStrategy",
        "name",
        "status",
        "type",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "application": {
          "type": "string",
          "description": "CASB SaaS application name.\n"
        },
        "casbName": {
          "type": "string",
          "description": "CASB user activity signature name.\n"
        },
        "category": {
          "type": "string",
          "description": "CASB user activity category. Valid values: `activity-control`, `tenant-control`, `domain-control`, `safe-search-control`, `other`.\n"
        },
        "controlOptions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FUseractivityControlOption:UseractivityControlOption"
          },
          "description": "CASB control options. The structure of `control_options` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "CASB user activity description.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "matchStrategy": {
          "type": "string",
          "description": "CASB user activity match strategy. Valid values: `and`, `or`.\n"
        },
        "matches": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:casb%2FUseractivityMatch:UseractivityMatch"
          },
          "description": "CASB user activity match rules. The structure of `match` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "CASB user activity name.\n",
          "willReplaceOnChanges": true
        },
        "status": {
          "type": "string",
          "description": "CASB user activity status. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "CASB user activity type. Valid values: `built-in`, `customized`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Useractivity resources.\n",
        "properties": {
          "application": {
            "type": "string",
            "description": "CASB SaaS application name.\n"
          },
          "casbName": {
            "type": "string",
            "description": "CASB user activity signature name.\n"
          },
          "category": {
            "type": "string",
            "description": "CASB user activity category. Valid values: `activity-control`, `tenant-control`, `domain-control`, `safe-search-control`, `other`.\n"
          },
          "controlOptions": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:casb%2FUseractivityControlOption:UseractivityControlOption"
            },
            "description": "CASB control options. The structure of `control_options` block is documented below.\n"
          },
          "description": {
            "type": "string",
            "description": "CASB user activity description.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "matchStrategy": {
            "type": "string",
            "description": "CASB user activity match strategy. Valid values: `and`, `or`.\n"
          },
          "matches": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:casb%2FUseractivityMatch:UseractivityMatch"
            },
            "description": "CASB user activity match rules. The structure of `match` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "CASB user activity name.\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "CASB user activity status. Valid values: `enable`, `disable`.\n"
          },
          "type": {
            "type": "string",
            "description": "CASB user activity type. Valid values: `built-in`, `customized`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:certificate/ca:Ca": {
      "description": "CA certificate.\n\n## Import\n\nCertificate Ca can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:certificate/ca:Ca labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:certificate/ca:Ca labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "autoUpdateDays": {
          "type": "integer",
          "description": "Number of days to wait before requesting an updated CA certificate (0 - 4294967295, 0 = disabled).\n"
        },
        "autoUpdateDaysWarning": {
          "type": "integer",
          "description": "Number of days before an expiry-warning message is generated (0 - 4294967295, 0 = disabled).\n"
        },
        "ca": {
          "type": "string",
          "description": "CA certificate as a PEM file.\n",
          "language": {
            "csharp": {
              "name": "Certificate"
            }
          },
          "secret": true
        },
        "caIdentifier": {
          "type": "string",
          "description": "CA identifier of the SCEP server.\n"
        },
        "estUrl": {
          "type": "string",
          "description": "URL of the EST server.\n"
        },
        "fabricCa": {
          "type": "string",
          "description": "Enable/disable synchronization of CA across Security Fabric. Valid values: `disable`, `enable`.\n"
        },
        "lastUpdated": {
          "type": "integer",
          "description": "Time at which CA was last updated.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "obsolete": {
          "type": "string",
          "description": "Enable/disable this CA as obsoleted. Valid values: `disable`, `enable`.\n"
        },
        "range": {
          "type": "string",
          "description": "Either global or VDOM IP address range for the CA certificate. Valid values: `global`, `vdom`.\n"
        },
        "scepUrl": {
          "type": "string",
          "description": "URL of the SCEP server.\n"
        },
        "source": {
          "type": "string",
          "description": "CA certificate source type.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to the SCEP server.\n"
        },
        "sslInspectionTrusted": {
          "type": "string",
          "description": "Enable/disable this CA as a trusted CA for SSL inspection. Valid values: `enable`, `disable`.\n"
        },
        "trusted": {
          "type": "string",
          "description": "Enable/disable as a trusted CA. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "autoUpdateDays",
        "autoUpdateDaysWarning",
        "ca",
        "caIdentifier",
        "estUrl",
        "fabricCa",
        "lastUpdated",
        "name",
        "obsolete",
        "range",
        "scepUrl",
        "source",
        "sourceIp",
        "sslInspectionTrusted",
        "trusted",
        "vdomparam"
      ],
      "language": {
        "csharp": {
          "name": "Authority"
        }
      },
      "inputProperties": {
        "autoUpdateDays": {
          "type": "integer",
          "description": "Number of days to wait before requesting an updated CA certificate (0 - 4294967295, 0 = disabled).\n"
        },
        "autoUpdateDaysWarning": {
          "type": "integer",
          "description": "Number of days before an expiry-warning message is generated (0 - 4294967295, 0 = disabled).\n"
        },
        "ca": {
          "type": "string",
          "description": "CA certificate as a PEM file.\n",
          "language": {
            "csharp": {
              "name": "Certificate"
            }
          },
          "secret": true
        },
        "caIdentifier": {
          "type": "string",
          "description": "CA identifier of the SCEP server.\n"
        },
        "estUrl": {
          "type": "string",
          "description": "URL of the EST server.\n"
        },
        "fabricCa": {
          "type": "string",
          "description": "Enable/disable synchronization of CA across Security Fabric. Valid values: `disable`, `enable`.\n"
        },
        "lastUpdated": {
          "type": "integer",
          "description": "Time at which CA was last updated.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "obsolete": {
          "type": "string",
          "description": "Enable/disable this CA as obsoleted. Valid values: `disable`, `enable`.\n"
        },
        "range": {
          "type": "string",
          "description": "Either global or VDOM IP address range for the CA certificate. Valid values: `global`, `vdom`.\n"
        },
        "scepUrl": {
          "type": "string",
          "description": "URL of the SCEP server.\n"
        },
        "source": {
          "type": "string",
          "description": "CA certificate source type.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to the SCEP server.\n"
        },
        "sslInspectionTrusted": {
          "type": "string",
          "description": "Enable/disable this CA as a trusted CA for SSL inspection. Valid values: `enable`, `disable`.\n"
        },
        "trusted": {
          "type": "string",
          "description": "Enable/disable as a trusted CA. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "ca"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ca resources.\n",
        "properties": {
          "autoUpdateDays": {
            "type": "integer",
            "description": "Number of days to wait before requesting an updated CA certificate (0 - 4294967295, 0 = disabled).\n"
          },
          "autoUpdateDaysWarning": {
            "type": "integer",
            "description": "Number of days before an expiry-warning message is generated (0 - 4294967295, 0 = disabled).\n"
          },
          "ca": {
            "type": "string",
            "description": "CA certificate as a PEM file.\n",
            "language": {
              "csharp": {
                "name": "Certificate"
              }
            },
            "secret": true
          },
          "caIdentifier": {
            "type": "string",
            "description": "CA identifier of the SCEP server.\n"
          },
          "estUrl": {
            "type": "string",
            "description": "URL of the EST server.\n"
          },
          "fabricCa": {
            "type": "string",
            "description": "Enable/disable synchronization of CA across Security Fabric. Valid values: `disable`, `enable`.\n"
          },
          "lastUpdated": {
            "type": "integer",
            "description": "Time at which CA was last updated.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "obsolete": {
            "type": "string",
            "description": "Enable/disable this CA as obsoleted. Valid values: `disable`, `enable`.\n"
          },
          "range": {
            "type": "string",
            "description": "Either global or VDOM IP address range for the CA certificate. Valid values: `global`, `vdom`.\n"
          },
          "scepUrl": {
            "type": "string",
            "description": "URL of the SCEP server.\n"
          },
          "source": {
            "type": "string",
            "description": "CA certificate source type.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communications to the SCEP server.\n"
          },
          "sslInspectionTrusted": {
            "type": "string",
            "description": "Enable/disable this CA as a trusted CA for SSL inspection. Valid values: `enable`, `disable`.\n"
          },
          "trusted": {
            "type": "string",
            "description": "Enable/disable as a trusted CA. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:certificate/crl:Crl": {
      "description": "Certificate Revocation List as a PEM file.\n\n## Import\n\nCertificate Crl can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:certificate/crl:Crl labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:certificate/crl:Crl labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "crl": {
          "type": "string",
          "description": "Certificate Revocation List as a PEM file.\n"
        },
        "httpUrl": {
          "type": "string",
          "description": "HTTP server URL for CRL auto-update.\n"
        },
        "lastUpdated": {
          "type": "integer",
          "description": "Time at which CRL was last updated.\n"
        },
        "ldapPassword": {
          "type": "string",
          "description": "LDAP server user password.\n",
          "secret": true
        },
        "ldapServer": {
          "type": "string",
          "description": "LDAP server name for CRL auto-update.\n"
        },
        "ldapUsername": {
          "type": "string",
          "description": "LDAP server user name.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "range": {
          "type": "string",
          "description": "Either global or VDOM IP address range for the certificate. Valid values: `global`, `vdom`.\n"
        },
        "scepCert": {
          "type": "string",
          "description": "Local certificate for SCEP communication for CRL auto-update.\n"
        },
        "scepUrl": {
          "type": "string",
          "description": "SCEP server URL for CRL auto-update.\n"
        },
        "source": {
          "type": "string",
          "description": "Certificate source type.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to a HTTP or SCEP CA server.\n"
        },
        "updateInterval": {
          "type": "integer",
          "description": "Time in seconds before the FortiGate checks for an updated CRL. Set to 0 to update only when it expires.\n"
        },
        "updateVdom": {
          "type": "string",
          "description": "VDOM for CRL update.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "crl",
        "httpUrl",
        "lastUpdated",
        "ldapServer",
        "ldapUsername",
        "name",
        "range",
        "scepCert",
        "scepUrl",
        "source",
        "sourceIp",
        "updateInterval",
        "updateVdom",
        "vdomparam"
      ],
      "language": {
        "csharp": {
          "name": "RevocationList"
        }
      },
      "inputProperties": {
        "crl": {
          "type": "string",
          "description": "Certificate Revocation List as a PEM file.\n"
        },
        "httpUrl": {
          "type": "string",
          "description": "HTTP server URL for CRL auto-update.\n"
        },
        "lastUpdated": {
          "type": "integer",
          "description": "Time at which CRL was last updated.\n"
        },
        "ldapPassword": {
          "type": "string",
          "description": "LDAP server user password.\n",
          "secret": true
        },
        "ldapServer": {
          "type": "string",
          "description": "LDAP server name for CRL auto-update.\n"
        },
        "ldapUsername": {
          "type": "string",
          "description": "LDAP server user name.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "range": {
          "type": "string",
          "description": "Either global or VDOM IP address range for the certificate. Valid values: `global`, `vdom`.\n"
        },
        "scepCert": {
          "type": "string",
          "description": "Local certificate for SCEP communication for CRL auto-update.\n"
        },
        "scepUrl": {
          "type": "string",
          "description": "SCEP server URL for CRL auto-update.\n"
        },
        "source": {
          "type": "string",
          "description": "Certificate source type.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address for communications to a HTTP or SCEP CA server.\n"
        },
        "updateInterval": {
          "type": "integer",
          "description": "Time in seconds before the FortiGate checks for an updated CRL. Set to 0 to update only when it expires.\n"
        },
        "updateVdom": {
          "type": "string",
          "description": "VDOM for CRL update.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Crl resources.\n",
        "properties": {
          "crl": {
            "type": "string",
            "description": "Certificate Revocation List as a PEM file.\n"
          },
          "httpUrl": {
            "type": "string",
            "description": "HTTP server URL for CRL auto-update.\n"
          },
          "lastUpdated": {
            "type": "integer",
            "description": "Time at which CRL was last updated.\n"
          },
          "ldapPassword": {
            "type": "string",
            "description": "LDAP server user password.\n",
            "secret": true
          },
          "ldapServer": {
            "type": "string",
            "description": "LDAP server name for CRL auto-update.\n"
          },
          "ldapUsername": {
            "type": "string",
            "description": "LDAP server user name.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "range": {
            "type": "string",
            "description": "Either global or VDOM IP address range for the certificate. Valid values: `global`, `vdom`.\n"
          },
          "scepCert": {
            "type": "string",
            "description": "Local certificate for SCEP communication for CRL auto-update.\n"
          },
          "scepUrl": {
            "type": "string",
            "description": "SCEP server URL for CRL auto-update.\n"
          },
          "source": {
            "type": "string",
            "description": "Certificate source type.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address for communications to a HTTP or SCEP CA server.\n"
          },
          "updateInterval": {
            "type": "integer",
            "description": "Time in seconds before the FortiGate checks for an updated CRL. Set to 0 to update only when it expires.\n"
          },
          "updateVdom": {
            "type": "string",
            "description": "VDOM for CRL update.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:certificate/local:Local": {
      "description": "Local keys and certificates.\n\nBy design considerations, the feature is using the fortios.json.GenericApi resource as documented below.\n\n## Example\n\n### Import Certificate:\n\n**Step1: Prepare certificate**\n\nThe following key is a randomly generated example key for testing. In actual use, please replace it with your own key.\n\n```\n# cat xxx.key\n-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAy7Vj/9qM4LiWJjd+GMUijSrIMJLmoHDTLKPiT4CAQvgn+MDo\n1J/ygkVJJSwifWn8ouGSycasjmgFJJIiu2stQzm4EQ3u85fvqazoo806pBOQm1gW\nYEY5Ug3yMpddd7xUQO8s60VD/ZQ8pNzsKZlRWelGnNw9TzZXABi/FBxLFQ4TOnw5\nzfibZ1dnvMV3mdg0MY2qoe96wpiSZKt4gkSmzPwRR7QnYzBtF8vVLlJ2I5fqJo4/\nnt9j3Kd2X2wUaZ194aIrruCFU6CFxAb2ZTJLw4/97EXR8wqoDfhU55qk7pUR22Uc\nuftobWYCMrO7e51WdBYEWIldAtcZkUsk7bUUzQIDAQABAoIBABlV8x0EOpdMfeg8\n6KL+CcES/BkGfEaiIbGgpGoM6mbp5FbM72haiFfpdCJ6bcO5ZeGAOrh7zERd7Z3R\nyx4SQ2vkBt+gIwMK95Tb24db5Bo6ELcxan8I3OI2t9PQ/aABvVziIm0UjVNBl5VN\noNW/qt2K5Oxne/yZHpL1gPZoWnJAuBNcDZDNI5qQfT1JTWhmbu9pkjiNg3h0l5O4\nboETBdb3W2jlvCIegIQJ+xPkChS3I4cMoZ4LBRWMLpzK+Q57+zml75drsQ7PA0XH\nlx2nzUFCByu27pM6kiajXleUSGVH2VCUSNysQAYBSa77g5t7O+m+o3iNUslUDor3\nLY5eiKUCgYEA6dqJJxF28Wt6UbMgywQuv5koo8v8nyUhR4hZhvy5qge5v5Sh82UE\nRyVfSvMDR9oWnXs8tBZaf1sgsUEaFl2I/5kmFWTe7aGj1eXprOxOuMNk51AN2w9T\njHWici/rj0JEjvAteDvLjY6CTAi8Zg9OxuJWNyV2gZ1LpZ2cIlULzLsCgYEA3wAH\nJQ0jVeJ70v2I01m16d/klTNcqv9sTIPwowz0RFkOG8v482SSQ7Q43xkSYJvxKg12\nBO6qq+RzYwDPgA7/7kLrq1Ye2VobhrsRey6dEWGdrgA/TfoCgSjK0LEBh4Gn5h7l\nDycvfNRbum1D+uheyTPC94fJChwutihUsrXuEBcCgYAaoUczCrsXvNx+Bz75v20v\nZlqJZIZM/SZwBefkBk2CPkT5uwxCMkOtcmUKnOfHu98NaeY8v7roe9EaPkahO1+J\nc8AxeX4lY13L0tWsWnCQe7e225foVTN3cEHibPCPLMWv3UvgQDbq1Mqjq+8AVEft\nQAL/XqXDFs1xe6Q3CKZCVwKBgQCaCBbnTM/ffvUwo9dixVCWHwRw2m1j39Iad/g7\nZ7NBkpHgOV/YHtu40D+IOnUrLgvClFG0znYtDTt2YxTwy2uUU70dN/tO/qKMyaIl\nh+kOHHMhwSH45nvcYyTUSa9YvgIPPb/SW6q9eqFxgA+4u9DdAVfmSnBe/2B0ih8W\n4ftyOQKBgF0puFMyA7ySE2tQ5quiPBO95Vls4SMl59ofhEgMghmUErEFGvTHPxff\n2UF7AWahrhNq02cF8iTU/lS77D0W01TpEFl8xC5LyqewKzLatgFTFhFPPGt/wK0s\nuIAliRuV1Iyv2vDYmYaugpeZakogVBpkVPqvEzfEPgn9VEZKLQ7y\n-----END RSA PRIVATE KEY-----\n\n#cat xxxx.crt\n-----BEGIN CERTIFICATE-----\nMIIDuTCCAqGgAwIBAgIJAKCr2aCM9Je5MA0GCSqGSIb3DQEBCwUAMHMxCzAJBgNV\nBAYTAkdCMRMwEQYDVQQIDApTb21lLVN0YXRlMQ8wDQYDVQQHDAZMb25kb24xDDAK\nBgNVBAoMA0ZETDESMBAGA1UEAwwJbG9jYWxob3N0MRwwGgYJKoZIhvcNAQkBFg1z\nc0Bzc3Nzc3MuY29tMB4XDTE5MDUyOTE1MDIzMFoXDTIwMDUyODE1MDIzMFowczEL\nMAkGA1UEBhMCR0IxEzARBgNVBAgMClNvbWUtU3RhdGUxDzANBgNVBAcMBkxvbmRv\nbjEMMAoGA1UECgwDRkRMMRIwEAYDVQQDDAlsb2NhbGhvc3QxHDAaBgkqhkiG9w0B\nCQEWDXNzQHNzc3Nzcy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQDLtWP/2ozguJYmN34YxSKNKsgwkuagcNMso+JPgIBC+Cf4wOjUn/KCRUklLCJ9\nafyi4ZLJxqyOaAUkkiK7ay1DObgRDe7zl++prOijzTqkE5CbWBZgRjlSDfIyl113\nvFRA7yzrRUP9lDyk3OwpmVFZ6Uac3D1PNlcAGL8UHEsVDhM6fDnN+JtnV2e8xXeZ\n2DQxjaqh73rCmJJkq3iCRKbM/BFHtCdjMG0Xy9UuUnYjl+omjj+e32Pcp3ZfbBRp\nnX3hoiuu4IVToIXEBvZlMkvDj/3sRdHzCqgN+FTnmqTulRHbZRy5+2htZgIys7t7\nnVZ0FgRYiV0C1xmRSyTttRTNAgMBAAGjUDBOMB0GA1UdDgQWBBTinUGXSHLwDOVm\nOMdVbk0NdJNcRzAfBgNVHSMEGDAWgBTinUGXSHLwDOVmOMdVbk0NdJNcRzAMBgNV\nHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBX7ZHWH3N8EN+XcmUak7RG9qzy\nmnWPvyBiM8YI11rs87SkD+L8Q/ylxdmoI57cfPHpnqtkGAseRdN1EtzqILpyOo4Q\nQ2aF3ZHKUOEPBbblWqv+AbyXPHhODrm+Nlyu42axcqfLwLGAIRhVkVerX24lV/u2\ns3W/G5cse7RfNtxWPVUah7jAmsIv1Yc7Yi4TEIlQDImQI5TAoGTQOpPjYZXCtHXS\nxUIGOKDTds9X2wWb3lM7ANecrINh6CNB/tg3GNdGV8SCJvJnYtEgfipjS7cQoc5C\npBmnz+IlqzrwBZBxmB+1xFrYATm/hZ3HMFrLKQVoTJgTP74/PIpCaO/mjis4\n-----END CERTIFICATE-----\n\n```\n\n\n**Step2: Prepare TF file with fortios.json.GenericApi resource**\n\n<!--Start PulumiCodeChooser -->\n```python\nimport pulumi\nimport pulumi_local as local\nimport pulumiverse_fortios as fortios\n\nkey_file = local.get_file(filename=\"./test.key\")\ncrt_file = local.get_file(filename=\"./test.crt\")\ngenericapi1 = fortios.json.GenericApi(\"genericapi1\",\n    json=f\"\"\"{{\n    \"type\": \"regular\",\n    \"certname\": \"testcer\",\n    \"password\": \"\",\n    \"key_file_content\": \"{key_file.content_base64}\",\n    \"file_content\": \"{crt_file.content_base64}\"\n}}\n\n\"\"\",\n    method=\"POST\",\n    path=\"/api/v2/monitor/vpn-certificate/local/import\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\nusing Local = Pulumi.Local;\n\nreturn await Deployment.RunAsync(() => \n{\n    var keyFile = Local.GetFile.Invoke(new()\n    {\n        Filename = \"./test.key\",\n    });\n\n    var crtFile = Local.GetFile.Invoke(new()\n    {\n        Filename = \"./test.crt\",\n    });\n\n    var genericapi1 = new Fortios.Json.GenericApi(\"genericapi1\", new()\n    {\n        Json = Output.Tuple(keyFile, crtFile).Apply(values =>\n        {\n            var keyFile = values.Item1;\n            var crtFile = values.Item2;\n            return @$\"{{\n    \"\"type\"\": \"\"regular\"\",\n    \"\"certname\"\": \"\"testcer\"\",\n    \"\"password\"\": \"\"\"\",\n    \"\"key_file_content\"\": \"\"{keyFile.Apply(getFileResult => getFileResult.ContentBase64)}\"\",\n    \"\"file_content\"\": \"\"{crtFile.Apply(getFileResult => getFileResult.ContentBase64)}\"\"\n}}\n\n\";\n        }),\n        Method = \"POST\",\n        Path = \"/api/v2/monitor/vpn-certificate/local/import\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-local/sdk/go/local\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/json\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tkeyFile, err := local.LookupFile(ctx, &local.LookupFileArgs{\n\t\t\tFilename: \"./test.key\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcrtFile, err := local.LookupFile(ctx, &local.LookupFileArgs{\n\t\t\tFilename: \"./test.crt\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = json.NewGenericApi(ctx, \"genericapi1\", &json.GenericApiArgs{\n\t\t\tJson: pulumi.String(fmt.Sprintf(`{\n    \"type\": \"regular\",\n    \"certname\": \"testcer\",\n    \"password\": \"\",\n    \"key_file_content\": \"%v\",\n    \"file_content\": \"%v\"\n}\n\n`, keyFile.ContentBase64, crtFile.ContentBase64)),\n\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\tPath:   pulumi.String(\"/api/v2/monitor/vpn-certificate/local/import\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.local.LocalFunctions;\nimport com.pulumi.local.inputs.GetFileArgs;\nimport com.pulumi.fortios.json.GenericApi;\nimport com.pulumi.fortios.json.GenericApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var keyFile = LocalFunctions.getFile(GetFileArgs.builder()\n            .filename(\"./test.key\")\n            .build());\n\n        final var crtFile = LocalFunctions.getFile(GetFileArgs.builder()\n            .filename(\"./test.crt\")\n            .build());\n\n        var genericapi1 = new GenericApi(\"genericapi1\", GenericApiArgs.builder()\n            .json(\"\"\"\n{\n    \"type\": \"regular\",\n    \"certname\": \"testcer\",\n    \"password\": \"\",\n    \"key_file_content\": \"%s\",\n    \"file_content\": \"%s\"\n}\n\n\", keyFile.applyValue(getFileResult -> getFileResult.contentBase64()),crtFile.applyValue(getFileResult -> getFileResult.contentBase64())))\n            .method(\"POST\")\n            .path(\"/api/v2/monitor/vpn-certificate/local/import\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  genericapi1:\n    type: fortios:json:GenericApi\n    properties:\n      json: |+\n        {\n            \"type\": \"regular\",\n            \"certname\": \"testcer\",\n            \"password\": \"\",\n            \"key_file_content\": \"${keyFile.contentBase64}\",\n            \"file_content\": \"${crtFile.contentBase64}\"\n        }\n\n      method: POST\n      path: /api/v2/monitor/vpn-certificate/local/import\nvariables:\n  keyFile:\n    fn::invoke:\n      Function: local:getFile\n      Arguments:\n        filename: ./test.key\n  crtFile:\n    fn::invoke:\n      Function: local:getFile\n      Arguments:\n        filename: ./test.crt\n```\n<!--End PulumiCodeChooser -->\n\n**Step3: Apply**\n### Delete Certificate:\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1 = new fortios.system.Autoscript(\"trname1\", {\n    interval: 1,\n    outputSize: 10,\n    repeat: 1,\n    script: `config vpn certificate local\ndelete testcer\nend\n\n`,\n    start: \"auto\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.system.Autoscript(\"trname1\",\n    interval=1,\n    output_size=10,\n    repeat=1,\n    script=\"\"\"config vpn certificate local\ndelete testcer\nend\n\n\"\"\",\n    start=\"auto\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname1 = new Fortios.System.Autoscript(\"trname1\", new()\n    {\n        Interval = 1,\n        OutputSize = 10,\n        Repeat = 1,\n        Script = @\"config vpn certificate local\ndelete testcer\nend\n\n\",\n        Start = \"auto\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/system\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := system.NewAutoscript(ctx, \"trname1\", &system.AutoscriptArgs{\n\t\t\tInterval:   pulumi.Int(1),\n\t\t\tOutputSize: pulumi.Int(10),\n\t\t\tRepeat:     pulumi.Int(1),\n\t\t\tScript:     pulumi.String(\"config vpn certificate local\\ndelete testcer\\nend\\n\\n\"),\n\t\t\tStart:      pulumi.String(\"auto\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.system.Autoscript;\nimport com.pulumi.fortios.system.AutoscriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname1 = new Autoscript(\"trname1\", AutoscriptArgs.builder()\n            .interval(1)\n            .outputSize(10)\n            .repeat(1)\n            .script(\"\"\"\nconfig vpn certificate local\ndelete testcer\nend\n\n            \"\"\")\n            .start(\"auto\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:system:Autoscript\n    properties:\n      interval: 1\n      outputSize: 10\n      repeat: 1\n      script: |+\n        config vpn certificate local\n        delete testcer\n        end\n\n      start: auto\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "acmeCaUrl": {
          "type": "string"
        },
        "acmeDomain": {
          "type": "string"
        },
        "acmeEmail": {
          "type": "string"
        },
        "acmeRenewWindow": {
          "type": "integer"
        },
        "acmeRsaKeySize": {
          "type": "integer"
        },
        "autoRegenerateDays": {
          "type": "integer"
        },
        "autoRegenerateDaysWarning": {
          "type": "integer"
        },
        "caIdentifier": {
          "type": "string"
        },
        "certificate": {
          "type": "string"
        },
        "cmpPath": {
          "type": "string"
        },
        "cmpRegenerationMethod": {
          "type": "string"
        },
        "cmpServer": {
          "type": "string"
        },
        "cmpServerCert": {
          "type": "string"
        },
        "comments": {
          "type": "string"
        },
        "csr": {
          "type": "string"
        },
        "enrollProtocol": {
          "type": "string"
        },
        "estCaId": {
          "type": "string"
        },
        "estClientCert": {
          "type": "string"
        },
        "estHttpPassword": {
          "type": "string"
        },
        "estHttpUsername": {
          "type": "string"
        },
        "estServer": {
          "type": "string"
        },
        "estServerCert": {
          "type": "string"
        },
        "estSrpPassword": {
          "type": "string"
        },
        "estSrpUsername": {
          "type": "string"
        },
        "ikeLocalid": {
          "type": "string"
        },
        "ikeLocalidType": {
          "type": "string"
        },
        "lastUpdated": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "nameEncoding": {
          "type": "string"
        },
        "password": {
          "type": "string",
          "secret": true
        },
        "privateKey": {
          "type": "string",
          "secret": true
        },
        "privateKeyRetain": {
          "type": "string"
        },
        "range": {
          "type": "string"
        },
        "scepPassword": {
          "type": "string",
          "secret": true
        },
        "scepUrl": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "sourceIp": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "acmeCaUrl",
        "acmeDomain",
        "acmeEmail",
        "acmeRenewWindow",
        "acmeRsaKeySize",
        "autoRegenerateDays",
        "autoRegenerateDaysWarning",
        "caIdentifier",
        "certificate",
        "cmpPath",
        "cmpRegenerationMethod",
        "cmpServer",
        "cmpServerCert",
        "comments",
        "csr",
        "enrollProtocol",
        "estCaId",
        "estClientCert",
        "estHttpPassword",
        "estHttpUsername",
        "estServer",
        "estServerCert",
        "estSrpPassword",
        "estSrpUsername",
        "ikeLocalid",
        "ikeLocalidType",
        "lastUpdated",
        "name",
        "nameEncoding",
        "privateKey",
        "privateKeyRetain",
        "range",
        "scepUrl",
        "source",
        "sourceIp",
        "state",
        "vdomparam"
      ],
      "inputProperties": {
        "acmeCaUrl": {
          "type": "string"
        },
        "acmeDomain": {
          "type": "string"
        },
        "acmeEmail": {
          "type": "string"
        },
        "acmeRenewWindow": {
          "type": "integer"
        },
        "acmeRsaKeySize": {
          "type": "integer"
        },
        "autoRegenerateDays": {
          "type": "integer"
        },
        "autoRegenerateDaysWarning": {
          "type": "integer"
        },
        "caIdentifier": {
          "type": "string"
        },
        "certificate": {
          "type": "string"
        },
        "cmpPath": {
          "type": "string"
        },
        "cmpRegenerationMethod": {
          "type": "string"
        },
        "cmpServer": {
          "type": "string"
        },
        "cmpServerCert": {
          "type": "string"
        },
        "comments": {
          "type": "string"
        },
        "csr": {
          "type": "string"
        },
        "enrollProtocol": {
          "type": "string"
        },
        "estCaId": {
          "type": "string"
        },
        "estClientCert": {
          "type": "string"
        },
        "estHttpPassword": {
          "type": "string"
        },
        "estHttpUsername": {
          "type": "string"
        },
        "estServer": {
          "type": "string"
        },
        "estServerCert": {
          "type": "string"
        },
        "estSrpPassword": {
          "type": "string"
        },
        "estSrpUsername": {
          "type": "string"
        },
        "ikeLocalid": {
          "type": "string"
        },
        "ikeLocalidType": {
          "type": "string"
        },
        "lastUpdated": {
          "type": "integer"
        },
        "name": {
          "type": "string",
          "willReplaceOnChanges": true
        },
        "nameEncoding": {
          "type": "string"
        },
        "password": {
          "type": "string",
          "secret": true
        },
        "privateKey": {
          "type": "string",
          "secret": true
        },
        "privateKeyRetain": {
          "type": "string"
        },
        "range": {
          "type": "string"
        },
        "scepPassword": {
          "type": "string",
          "secret": true
        },
        "scepUrl": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "sourceIp": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "privateKey"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Local resources.\n",
        "properties": {
          "acmeCaUrl": {
            "type": "string"
          },
          "acmeDomain": {
            "type": "string"
          },
          "acmeEmail": {
            "type": "string"
          },
          "acmeRenewWindow": {
            "type": "integer"
          },
          "acmeRsaKeySize": {
            "type": "integer"
          },
          "autoRegenerateDays": {
            "type": "integer"
          },
          "autoRegenerateDaysWarning": {
            "type": "integer"
          },
          "caIdentifier": {
            "type": "string"
          },
          "certificate": {
            "type": "string"
          },
          "cmpPath": {
            "type": "string"
          },
          "cmpRegenerationMethod": {
            "type": "string"
          },
          "cmpServer": {
            "type": "string"
          },
          "cmpServerCert": {
            "type": "string"
          },
          "comments": {
            "type": "string"
          },
          "csr": {
            "type": "string"
          },
          "enrollProtocol": {
            "type": "string"
          },
          "estCaId": {
            "type": "string"
          },
          "estClientCert": {
            "type": "string"
          },
          "estHttpPassword": {
            "type": "string"
          },
          "estHttpUsername": {
            "type": "string"
          },
          "estServer": {
            "type": "string"
          },
          "estServerCert": {
            "type": "string"
          },
          "estSrpPassword": {
            "type": "string"
          },
          "estSrpUsername": {
            "type": "string"
          },
          "ikeLocalid": {
            "type": "string"
          },
          "ikeLocalidType": {
            "type": "string"
          },
          "lastUpdated": {
            "type": "integer"
          },
          "name": {
            "type": "string",
            "willReplaceOnChanges": true
          },
          "nameEncoding": {
            "type": "string"
          },
          "password": {
            "type": "string",
            "secret": true
          },
          "privateKey": {
            "type": "string",
            "secret": true
          },
          "privateKeyRetain": {
            "type": "string"
          },
          "range": {
            "type": "string"
          },
          "scepPassword": {
            "type": "string",
            "secret": true
          },
          "scepUrl": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "sourceIp": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:certificate/remote:Remote": {
      "description": "Remote certificate as a PEM file. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nCertificate Remote can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:certificate/remote:Remote labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:certificate/remote:Remote labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "range": {
          "type": "string",
          "description": "Either the global or VDOM IP address range for the remote certificate. Valid values: `global`, `vdom`.\n"
        },
        "remote": {
          "type": "string",
          "description": "Remote certificate.\n",
          "language": {
            "csharp": {
              "name": "Certificate"
            }
          }
        },
        "source": {
          "type": "string",
          "description": "Remote certificate source type. Valid values: `factory`, `user`, `bundle`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "range",
        "remote",
        "source",
        "vdomparam"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "range": {
          "type": "string",
          "description": "Either the global or VDOM IP address range for the remote certificate. Valid values: `global`, `vdom`.\n"
        },
        "remote": {
          "type": "string",
          "description": "Remote certificate.\n",
          "language": {
            "csharp": {
              "name": "Certificate"
            }
          }
        },
        "source": {
          "type": "string",
          "description": "Remote certificate source type. Valid values: `factory`, `user`, `bundle`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Remote resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "range": {
            "type": "string",
            "description": "Either the global or VDOM IP address range for the remote certificate. Valid values: `global`, `vdom`.\n"
          },
          "remote": {
            "type": "string",
            "description": "Remote certificate.\n",
            "language": {
              "csharp": {
                "name": "Certificate"
              }
            }
          },
          "source": {
            "type": "string",
            "description": "Remote certificate source type. Valid values: `factory`, `user`, `bundle`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:cifs/domaincontroller:Domaincontroller": {
      "description": "Define known domain controller servers. Applies to FortiOS Version `6.2.4,6.2.6,6.4.0,6.4.1`.\n\n## Import\n\nCifs DomainController can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:cifs/domaincontroller:Domaincontroller labelname {{server_name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:cifs/domaincontroller:Domaincontroller labelname {{server_name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "domainName": {
          "type": "string",
          "description": "Fully qualified domain name (FQDN). E.g. 'EXAMPLE.COM'.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 server address.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 server address.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for specified username.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number of service. Port number 0 indicates automatic discovery.\n"
        },
        "serverName": {
          "type": "string",
          "description": "Name of the server to connect to.\n"
        },
        "username": {
          "type": "string",
          "description": "User name to sign in with. Must have proper permissions for service.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "domainName",
        "ip",
        "ip6",
        "port",
        "serverName",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "domainName": {
          "type": "string",
          "description": "Fully qualified domain name (FQDN). E.g. 'EXAMPLE.COM'.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 server address.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 server address.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for specified username.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number of service. Port number 0 indicates automatic discovery.\n"
        },
        "serverName": {
          "type": "string",
          "description": "Name of the server to connect to.\n",
          "willReplaceOnChanges": true
        },
        "username": {
          "type": "string",
          "description": "User name to sign in with. Must have proper permissions for service.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Domaincontroller resources.\n",
        "properties": {
          "domainName": {
            "type": "string",
            "description": "Fully qualified domain name (FQDN). E.g. 'EXAMPLE.COM'.\n"
          },
          "ip": {
            "type": "string",
            "description": "IPv4 server address.\n"
          },
          "ip6": {
            "type": "string",
            "description": "IPv6 server address.\n"
          },
          "password": {
            "type": "string",
            "description": "Password for specified username.\n",
            "secret": true
          },
          "port": {
            "type": "integer",
            "description": "Port number of service. Port number 0 indicates automatic discovery.\n"
          },
          "serverName": {
            "type": "string",
            "description": "Name of the server to connect to.\n",
            "willReplaceOnChanges": true
          },
          "username": {
            "type": "string",
            "description": "User name to sign in with. Must have proper permissions for service.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:cifs/profile:Profile": {
      "description": "Configure CIFS profile. Applies to FortiOS Version `6.2.4,6.2.6,6.4.0,6.4.1`.\n\n## Import\n\nCifs Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:cifs/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:cifs/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "domainController": {
          "type": "string",
          "description": "Domain for which to decrypt CIFS traffic.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fileFilter": {
          "$ref": "#/types/fortios:cifs%2FProfileFileFilter:ProfileFileFilter",
          "description": "File filter. The structure of `file_filter` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "serverCredentialType": {
          "type": "string",
          "description": "CIFS server credential type. Valid values: `none`, `credential-replication`, `credential-keytab`.\n"
        },
        "serverKeytabs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:cifs%2FProfileServerKeytab:ProfileServerKeytab"
          },
          "description": "Server keytab. The structure of `server_keytab` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "domainController",
        "fileFilter",
        "name",
        "serverCredentialType",
        "vdomparam"
      ],
      "inputProperties": {
        "domainController": {
          "type": "string",
          "description": "Domain for which to decrypt CIFS traffic.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fileFilter": {
          "$ref": "#/types/fortios:cifs%2FProfileFileFilter:ProfileFileFilter",
          "description": "File filter. The structure of `file_filter` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "serverCredentialType": {
          "type": "string",
          "description": "CIFS server credential type. Valid values: `none`, `credential-replication`, `credential-keytab`.\n"
        },
        "serverKeytabs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:cifs%2FProfileServerKeytab:ProfileServerKeytab"
          },
          "description": "Server keytab. The structure of `server_keytab` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "domainController": {
            "type": "string",
            "description": "Domain for which to decrypt CIFS traffic.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fileFilter": {
            "$ref": "#/types/fortios:cifs%2FProfileFileFilter:ProfileFileFilter",
            "description": "File filter. The structure of `file_filter` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "serverCredentialType": {
            "type": "string",
            "description": "CIFS server credential type. Valid values: `none`, `credential-replication`, `credential-keytab`.\n"
          },
          "serverKeytabs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:cifs%2FProfileServerKeytab:ProfileServerKeytab"
            },
            "description": "Server keytab. The structure of `server_keytab` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:credentialstore/domaincontroller:Domaincontroller": {
      "description": "Define known domain controller servers. Applies to FortiOS Version `6.4.0,6.4.1,6.4.2,6.4.10,6.4.11,6.4.12,6.4.13,6.4.14,6.4.15,7.0.0`.\n\n## Import\n\nCredentialStore DomainController can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:credentialstore/domaincontroller:Domaincontroller labelname {{server_name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:credentialstore/domaincontroller:Domaincontroller labelname {{server_name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "domainName": {
          "type": "string",
          "description": "Fully qualified domain name (FQDN).\n"
        },
        "hostname": {
          "type": "string",
          "description": "Hostname of the server to connect to.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 server address.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 server address.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for specified username.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number of service. Port number 0 indicates automatic discovery.\n"
        },
        "serverName": {
          "type": "string",
          "description": "Name of the server to connect to.\n"
        },
        "username": {
          "type": "string",
          "description": "User name to sign in with. Must have proper permissions for service.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "domainName",
        "hostname",
        "ip",
        "ip6",
        "port",
        "serverName",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "domainName": {
          "type": "string",
          "description": "Fully qualified domain name (FQDN).\n"
        },
        "hostname": {
          "type": "string",
          "description": "Hostname of the server to connect to.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 server address.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 server address.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for specified username.\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port number of service. Port number 0 indicates automatic discovery.\n"
        },
        "serverName": {
          "type": "string",
          "description": "Name of the server to connect to.\n",
          "willReplaceOnChanges": true
        },
        "username": {
          "type": "string",
          "description": "User name to sign in with. Must have proper permissions for service.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Domaincontroller resources.\n",
        "properties": {
          "domainName": {
            "type": "string",
            "description": "Fully qualified domain name (FQDN).\n"
          },
          "hostname": {
            "type": "string",
            "description": "Hostname of the server to connect to.\n"
          },
          "ip": {
            "type": "string",
            "description": "IPv4 server address.\n"
          },
          "ip6": {
            "type": "string",
            "description": "IPv6 server address.\n"
          },
          "password": {
            "type": "string",
            "description": "Password for specified username.\n",
            "secret": true
          },
          "port": {
            "type": "integer",
            "description": "Port number of service. Port number 0 indicates automatic discovery.\n"
          },
          "serverName": {
            "type": "string",
            "description": "Name of the server to connect to.\n",
            "willReplaceOnChanges": true
          },
          "username": {
            "type": "string",
            "description": "User name to sign in with. Must have proper permissions for service.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:diameterfilter/profile:Profile": {
      "description": "Configure Diameter filter profiles. Applies to FortiOS Version `>= 7.4.2`.\n\n## Import\n\nDiameterFilter Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:diameterfilter/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:diameterfilter/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cmdFlagsReserveSet": {
          "type": "string",
          "description": "Action to be taken for messages with cmd flag reserve bits set. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "commandCodeInvalid": {
          "type": "string",
          "description": "Action to be taken for messages with invalid command code. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "commandCodeRange": {
          "type": "string",
          "description": "Valid range for command codes (0-16777215).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "logPacket": {
          "type": "string",
          "description": "Enable/disable packet log for triggered diameter settings. Valid values: `disable`, `enable`.\n"
        },
        "messageLengthInvalid": {
          "type": "string",
          "description": "Action to be taken for invalid message length. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "missingRequestAction": {
          "type": "string",
          "description": "Action to be taken for answers without corresponding request. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "monitorAllMessages": {
          "type": "string",
          "description": "Enable/disable logging for all User Name and Result Code AVP messages. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "protocolVersionInvalid": {
          "type": "string",
          "description": "Action to be taken for invalid protocol version. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "requestErrorFlagSet": {
          "type": "string",
          "description": "Action to be taken for request messages with error flag set. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "trackRequestsAnswers": {
          "type": "string",
          "description": "Enable/disable validation that each answer has a corresponding request. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "cmdFlagsReserveSet",
        "commandCodeInvalid",
        "commandCodeRange",
        "logPacket",
        "messageLengthInvalid",
        "missingRequestAction",
        "monitorAllMessages",
        "name",
        "protocolVersionInvalid",
        "requestErrorFlagSet",
        "trackRequestsAnswers",
        "vdomparam"
      ],
      "inputProperties": {
        "cmdFlagsReserveSet": {
          "type": "string",
          "description": "Action to be taken for messages with cmd flag reserve bits set. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "commandCodeInvalid": {
          "type": "string",
          "description": "Action to be taken for messages with invalid command code. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "commandCodeRange": {
          "type": "string",
          "description": "Valid range for command codes (0-16777215).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "logPacket": {
          "type": "string",
          "description": "Enable/disable packet log for triggered diameter settings. Valid values: `disable`, `enable`.\n"
        },
        "messageLengthInvalid": {
          "type": "string",
          "description": "Action to be taken for invalid message length. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "missingRequestAction": {
          "type": "string",
          "description": "Action to be taken for answers without corresponding request. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "monitorAllMessages": {
          "type": "string",
          "description": "Enable/disable logging for all User Name and Result Code AVP messages. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "protocolVersionInvalid": {
          "type": "string",
          "description": "Action to be taken for invalid protocol version. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "requestErrorFlagSet": {
          "type": "string",
          "description": "Action to be taken for request messages with error flag set. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
        },
        "trackRequestsAnswers": {
          "type": "string",
          "description": "Enable/disable validation that each answer has a corresponding request. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "cmdFlagsReserveSet": {
            "type": "string",
            "description": "Action to be taken for messages with cmd flag reserve bits set. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
          },
          "commandCodeInvalid": {
            "type": "string",
            "description": "Action to be taken for messages with invalid command code. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
          },
          "commandCodeRange": {
            "type": "string",
            "description": "Valid range for command codes (0-16777215).\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "logPacket": {
            "type": "string",
            "description": "Enable/disable packet log for triggered diameter settings. Valid values: `disable`, `enable`.\n"
          },
          "messageLengthInvalid": {
            "type": "string",
            "description": "Action to be taken for invalid message length. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
          },
          "missingRequestAction": {
            "type": "string",
            "description": "Action to be taken for answers without corresponding request. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
          },
          "monitorAllMessages": {
            "type": "string",
            "description": "Enable/disable logging for all User Name and Result Code AVP messages. Valid values: `disable`, `enable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "protocolVersionInvalid": {
            "type": "string",
            "description": "Action to be taken for invalid protocol version. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
          },
          "requestErrorFlagSet": {
            "type": "string",
            "description": "Action to be taken for request messages with error flag set. Valid values: `allow`, `block`, `reset`, `monitor`.\n"
          },
          "trackRequestsAnswers": {
            "type": "string",
            "description": "Enable/disable validation that each answer has a corresponding request. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:dlp/datatype:Datatype": {
      "description": "Configure predefined data type used by DLP blocking. Applies to FortiOS Version `>= 7.2.0`.\n\n## Import\n\nDlp DataType can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dlp/datatype:Datatype labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dlp/datatype:Datatype labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "lookAhead": {
          "type": "integer",
          "description": "Number of characters to obtain in advance for verification (1 - 255, default = 1).\n"
        },
        "lookBack": {
          "type": "integer",
          "description": "Number of characters required to save for verification (1 - 255, default = 1).\n"
        },
        "matchAhead": {
          "type": "integer",
          "description": "Number of characters behind for match-around (1 - 4096, default = 1).\n"
        },
        "matchAround": {
          "type": "string",
          "description": "Dictionary to check whether it has a match around (Only support match-any and basic types, no repeat supported).\n"
        },
        "matchBack": {
          "type": "integer",
          "description": "Number of characters in front for match-around (1 - 4096, default = 1).\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table containing the data type.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Regular expression pattern string without look around.\n"
        },
        "transform": {
          "type": "string",
          "description": "Template to transform user input to a pattern using capture group from 'pattern'.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "verify": {
          "type": "string",
          "description": "Regular expression pattern string used to verify the data type.\n"
        },
        "verify2": {
          "type": "string",
          "description": "Extra regular expression pattern string used to verify the data type.\n"
        },
        "verifyTransformedPattern": {
          "type": "string",
          "description": "Enable/disable verification for transformed pattern. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "lookAhead",
        "lookBack",
        "matchAhead",
        "matchAround",
        "matchBack",
        "name",
        "pattern",
        "transform",
        "vdomparam",
        "verify",
        "verify2",
        "verifyTransformedPattern"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "lookAhead": {
          "type": "integer",
          "description": "Number of characters to obtain in advance for verification (1 - 255, default = 1).\n"
        },
        "lookBack": {
          "type": "integer",
          "description": "Number of characters required to save for verification (1 - 255, default = 1).\n"
        },
        "matchAhead": {
          "type": "integer",
          "description": "Number of characters behind for match-around (1 - 4096, default = 1).\n"
        },
        "matchAround": {
          "type": "string",
          "description": "Dictionary to check whether it has a match around (Only support match-any and basic types, no repeat supported).\n"
        },
        "matchBack": {
          "type": "integer",
          "description": "Number of characters in front for match-around (1 - 4096, default = 1).\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table containing the data type.\n",
          "willReplaceOnChanges": true
        },
        "pattern": {
          "type": "string",
          "description": "Regular expression pattern string without look around.\n"
        },
        "transform": {
          "type": "string",
          "description": "Template to transform user input to a pattern using capture group from 'pattern'.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "verify": {
          "type": "string",
          "description": "Regular expression pattern string used to verify the data type.\n"
        },
        "verify2": {
          "type": "string",
          "description": "Extra regular expression pattern string used to verify the data type.\n"
        },
        "verifyTransformedPattern": {
          "type": "string",
          "description": "Enable/disable verification for transformed pattern. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Datatype resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "lookAhead": {
            "type": "integer",
            "description": "Number of characters to obtain in advance for verification (1 - 255, default = 1).\n"
          },
          "lookBack": {
            "type": "integer",
            "description": "Number of characters required to save for verification (1 - 255, default = 1).\n"
          },
          "matchAhead": {
            "type": "integer",
            "description": "Number of characters behind for match-around (1 - 4096, default = 1).\n"
          },
          "matchAround": {
            "type": "string",
            "description": "Dictionary to check whether it has a match around (Only support match-any and basic types, no repeat supported).\n"
          },
          "matchBack": {
            "type": "integer",
            "description": "Number of characters in front for match-around (1 - 4096, default = 1).\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table containing the data type.\n",
            "willReplaceOnChanges": true
          },
          "pattern": {
            "type": "string",
            "description": "Regular expression pattern string without look around.\n"
          },
          "transform": {
            "type": "string",
            "description": "Template to transform user input to a pattern using capture group from 'pattern'.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "verify": {
            "type": "string",
            "description": "Regular expression pattern string used to verify the data type.\n"
          },
          "verify2": {
            "type": "string",
            "description": "Extra regular expression pattern string used to verify the data type.\n"
          },
          "verifyTransformedPattern": {
            "type": "string",
            "description": "Enable/disable verification for transformed pattern. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:dlp/dictionary:Dictionary": {
      "description": "Configure dictionaries used by DLP blocking. Applies to FortiOS Version `>= 7.2.0`.\n\n## Import\n\nDlp Dictionary can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dlp/dictionary:Dictionary labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dlp/dictionary:Dictionary labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FDictionaryEntry:DictionaryEntry"
          },
          "description": "DLP dictionary entries. The structure of `entries` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "matchAround": {
          "type": "string",
          "description": "Enable/disable match-around support. Valid values: `enable`, `disable`.\n"
        },
        "matchType": {
          "type": "string",
          "description": "Logical relation between entries (default = match-any). Valid values: `match-all`, `match-any`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table containing the dictionary.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "matchAround",
        "matchType",
        "name",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FDictionaryEntry:DictionaryEntry"
          },
          "description": "DLP dictionary entries. The structure of `entries` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "matchAround": {
          "type": "string",
          "description": "Enable/disable match-around support. Valid values: `enable`, `disable`.\n"
        },
        "matchType": {
          "type": "string",
          "description": "Logical relation between entries (default = match-any). Valid values: `match-all`, `match-any`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table containing the dictionary.\n",
          "willReplaceOnChanges": true
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Dictionary resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:dlp%2FDictionaryEntry:DictionaryEntry"
            },
            "description": "DLP dictionary entries. The structure of `entries` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "matchAround": {
            "type": "string",
            "description": "Enable/disable match-around support. Valid values: `enable`, `disable`.\n"
          },
          "matchType": {
            "type": "string",
            "description": "Logical relation between entries (default = match-any). Valid values: `match-all`, `match-any`.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table containing the dictionary.\n",
            "willReplaceOnChanges": true
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:dlp/exactdatamatch:Exactdatamatch": {
      "description": "Configure exact-data-match template used by DLP scan. Applies to FortiOS Version `>= 7.4.2`.\n\n## Import\n\nDlp ExactDataMatch can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dlp/exactdatamatch:Exactdatamatch labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dlp/exactdatamatch:Exactdatamatch labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FExactdatamatchColumn:ExactdatamatchColumn"
          },
          "description": "DLP exact-data-match column types. The structure of `columns` block is documented below.\n"
        },
        "data": {
          "type": "string",
          "description": "External resource for exact data match.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table containing the exact-data-match template.\n"
        },
        "optional": {
          "type": "integer",
          "description": "Number of optional columns need to match.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "data",
        "name",
        "optional",
        "vdomparam"
      ],
      "inputProperties": {
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FExactdatamatchColumn:ExactdatamatchColumn"
          },
          "description": "DLP exact-data-match column types. The structure of `columns` block is documented below.\n"
        },
        "data": {
          "type": "string",
          "description": "External resource for exact data match.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table containing the exact-data-match template.\n",
          "willReplaceOnChanges": true
        },
        "optional": {
          "type": "integer",
          "description": "Number of optional columns need to match.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Exactdatamatch resources.\n",
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:dlp%2FExactdatamatchColumn:ExactdatamatchColumn"
            },
            "description": "DLP exact-data-match column types. The structure of `columns` block is documented below.\n"
          },
          "data": {
            "type": "string",
            "description": "External resource for exact data match.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table containing the exact-data-match template.\n",
            "willReplaceOnChanges": true
          },
          "optional": {
            "type": "integer",
            "description": "Number of optional columns need to match.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:dlp/filepattern:Filepattern": {
      "description": "Configure file patterns used by DLP blocking.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.dlp.Filepattern(\"trname\", {fosid: 9});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.dlp.Filepattern(\"trname\", fosid=9)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Dlp.Filepattern(\"trname\", new()\n    {\n        Fosid = 9,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/dlp\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dlp.NewFilepattern(ctx, \"trname\", &dlp.FilepatternArgs{\n\t\t\tFosid: pulumi.Int(9),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.dlp.Filepattern;\nimport com.pulumi.fortios.dlp.FilepatternArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Filepattern(\"trname\", FilepatternArgs.builder()\n            .fosid(9)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:dlp:Filepattern\n    properties:\n      fosid: 9\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nDlp Filepattern can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dlp/filepattern:Filepattern labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dlp/filepattern:Filepattern labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FFilepatternEntry:FilepatternEntry"
          },
          "description": "Configure file patterns used by DLP blocking. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table containing the file pattern list.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FFilepatternEntry:FilepatternEntry"
          },
          "description": "Configure file patterns used by DLP blocking. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table containing the file pattern list.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Filepattern resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:dlp%2FFilepatternEntry:FilepatternEntry"
            },
            "description": "Configure file patterns used by DLP blocking. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table containing the file pattern list.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:dlp/fpdocsource:Fpdocsource": {
      "description": "Create a DLP fingerprint database by allowing the FortiGate to access a file server containing files from which to create fingerprints.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.dlp.Fpdocsource(\"trname\", {\n    date: 1,\n    filePath: \"/\",\n    filePattern: \"*\",\n    keepModified: \"enable\",\n    period: \"none\",\n    removeDeleted: \"enable\",\n    scanOnCreation: \"enable\",\n    scanSubdirectories: \"enable\",\n    server: \"1.1.1.1\",\n    serverType: \"samba\",\n    todHour: 1,\n    todMin: 0,\n    username: \"sgh\",\n    vdom: \"mgmt\",\n    weekday: \"sunday\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.dlp.Fpdocsource(\"trname\",\n    date=1,\n    file_path=\"/\",\n    file_pattern=\"*\",\n    keep_modified=\"enable\",\n    period=\"none\",\n    remove_deleted=\"enable\",\n    scan_on_creation=\"enable\",\n    scan_subdirectories=\"enable\",\n    server=\"1.1.1.1\",\n    server_type=\"samba\",\n    tod_hour=1,\n    tod_min=0,\n    username=\"sgh\",\n    vdom=\"mgmt\",\n    weekday=\"sunday\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Dlp.Fpdocsource(\"trname\", new()\n    {\n        Date = 1,\n        FilePath = \"/\",\n        FilePattern = \"*\",\n        KeepModified = \"enable\",\n        Period = \"none\",\n        RemoveDeleted = \"enable\",\n        ScanOnCreation = \"enable\",\n        ScanSubdirectories = \"enable\",\n        Server = \"1.1.1.1\",\n        ServerType = \"samba\",\n        TodHour = 1,\n        TodMin = 0,\n        Username = \"sgh\",\n        Vdom = \"mgmt\",\n        Weekday = \"sunday\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/dlp\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dlp.NewFpdocsource(ctx, \"trname\", &dlp.FpdocsourceArgs{\n\t\t\tDate:               pulumi.Int(1),\n\t\t\tFilePath:           pulumi.String(\"/\"),\n\t\t\tFilePattern:        pulumi.String(\"*\"),\n\t\t\tKeepModified:       pulumi.String(\"enable\"),\n\t\t\tPeriod:             pulumi.String(\"none\"),\n\t\t\tRemoveDeleted:      pulumi.String(\"enable\"),\n\t\t\tScanOnCreation:     pulumi.String(\"enable\"),\n\t\t\tScanSubdirectories: pulumi.String(\"enable\"),\n\t\t\tServer:             pulumi.String(\"1.1.1.1\"),\n\t\t\tServerType:         pulumi.String(\"samba\"),\n\t\t\tTodHour:            pulumi.Int(1),\n\t\t\tTodMin:             pulumi.Int(0),\n\t\t\tUsername:           pulumi.String(\"sgh\"),\n\t\t\tVdom:               pulumi.String(\"mgmt\"),\n\t\t\tWeekday:            pulumi.String(\"sunday\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.dlp.Fpdocsource;\nimport com.pulumi.fortios.dlp.FpdocsourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Fpdocsource(\"trname\", FpdocsourceArgs.builder()\n            .date(1)\n            .filePath(\"/\")\n            .filePattern(\"*\")\n            .keepModified(\"enable\")\n            .period(\"none\")\n            .removeDeleted(\"enable\")\n            .scanOnCreation(\"enable\")\n            .scanSubdirectories(\"enable\")\n            .server(\"1.1.1.1\")\n            .serverType(\"samba\")\n            .todHour(1)\n            .todMin(0)\n            .username(\"sgh\")\n            .vdom(\"mgmt\")\n            .weekday(\"sunday\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:dlp:Fpdocsource\n    properties:\n      date: 1\n      filePath: /\n      filePattern: '*'\n      keepModified: enable\n      period: none\n      removeDeleted: enable\n      scanOnCreation: enable\n      scanSubdirectories: enable\n      server: 1.1.1.1\n      serverType: samba\n      todHour: 1\n      todMin: 0\n      username: sgh\n      vdom: mgmt\n      weekday: sunday\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nDlp FpDocSource can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dlp/fpdocsource:Fpdocsource labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dlp/fpdocsource:Fpdocsource labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "date": {
          "type": "integer",
          "description": "Day of the month on which to scan the server (1 - 31).\n"
        },
        "filePath": {
          "type": "string",
          "description": "Path on the server to the fingerprint files (max 119 characters).\n"
        },
        "filePattern": {
          "type": "string",
          "description": "Files matching this pattern on the server are fingerprinted. Optionally use the * and ? wildcards.\n"
        },
        "keepModified": {
          "type": "string",
          "description": "Enable so that when a file is changed on the server the FortiGate keeps the old fingerprint and adds a new fingerprint to the database. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the DLP fingerprint database.\n"
        },
        "password": {
          "type": "string",
          "description": "Password required to log into the file server.\n",
          "secret": true
        },
        "period": {
          "type": "string",
          "description": "Frequency for which the FortiGate checks the server for new or changed files. Valid values: `none`, `daily`, `weekly`, `monthly`.\n"
        },
        "removeDeleted": {
          "type": "string",
          "description": "Enable to keep the fingerprint database up to date when a file is deleted from the server. Valid values: `enable`, `disable`.\n"
        },
        "scanOnCreation": {
          "type": "string",
          "description": "Enable to keep the fingerprint database up to date when a file is added or changed on the server. Valid values: `enable`, `disable`.\n"
        },
        "scanSubdirectories": {
          "type": "string",
          "description": "Enable/disable scanning subdirectories to find files to create fingerprints from. Valid values: `enable`, `disable`.\n"
        },
        "sensitivity": {
          "type": "string",
          "description": "Select a sensitivity or threat level for matches with this fingerprint database. Add sensitivities using fp-sensitivity.\n"
        },
        "server": {
          "type": "string",
          "description": "IPv4 or IPv6 address of the server.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Protocol used to communicate with the file server. Currently only Samba (SMB) servers are supported. Valid values: `samba`.\n"
        },
        "todHour": {
          "type": "integer",
          "description": "Hour of the day on which to scan the server (0 - 23, default = 1).\n"
        },
        "todMin": {
          "type": "integer",
          "description": "Minute of the hour on which to scan the server (0 - 59).\n"
        },
        "username": {
          "type": "string",
          "description": "User name required to log into the file server.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Select the VDOM that can communicate with the file server. Valid values: `mgmt`, `current`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "weekday": {
          "type": "string",
          "description": "Day of the week on which to scan the server. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        }
      },
      "type": "object",
      "required": [
        "date",
        "filePath",
        "filePattern",
        "keepModified",
        "name",
        "period",
        "removeDeleted",
        "scanOnCreation",
        "scanSubdirectories",
        "sensitivity",
        "server",
        "serverType",
        "todHour",
        "todMin",
        "username",
        "vdom",
        "vdomparam",
        "weekday"
      ],
      "inputProperties": {
        "date": {
          "type": "integer",
          "description": "Day of the month on which to scan the server (1 - 31).\n"
        },
        "filePath": {
          "type": "string",
          "description": "Path on the server to the fingerprint files (max 119 characters).\n"
        },
        "filePattern": {
          "type": "string",
          "description": "Files matching this pattern on the server are fingerprinted. Optionally use the * and ? wildcards.\n"
        },
        "keepModified": {
          "type": "string",
          "description": "Enable so that when a file is changed on the server the FortiGate keeps the old fingerprint and adds a new fingerprint to the database. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the DLP fingerprint database.\n",
          "willReplaceOnChanges": true
        },
        "password": {
          "type": "string",
          "description": "Password required to log into the file server.\n",
          "secret": true
        },
        "period": {
          "type": "string",
          "description": "Frequency for which the FortiGate checks the server for new or changed files. Valid values: `none`, `daily`, `weekly`, `monthly`.\n"
        },
        "removeDeleted": {
          "type": "string",
          "description": "Enable to keep the fingerprint database up to date when a file is deleted from the server. Valid values: `enable`, `disable`.\n"
        },
        "scanOnCreation": {
          "type": "string",
          "description": "Enable to keep the fingerprint database up to date when a file is added or changed on the server. Valid values: `enable`, `disable`.\n"
        },
        "scanSubdirectories": {
          "type": "string",
          "description": "Enable/disable scanning subdirectories to find files to create fingerprints from. Valid values: `enable`, `disable`.\n"
        },
        "sensitivity": {
          "type": "string",
          "description": "Select a sensitivity or threat level for matches with this fingerprint database. Add sensitivities using fp-sensitivity.\n"
        },
        "server": {
          "type": "string",
          "description": "IPv4 or IPv6 address of the server.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Protocol used to communicate with the file server. Currently only Samba (SMB) servers are supported. Valid values: `samba`.\n"
        },
        "todHour": {
          "type": "integer",
          "description": "Hour of the day on which to scan the server (0 - 23, default = 1).\n"
        },
        "todMin": {
          "type": "integer",
          "description": "Minute of the hour on which to scan the server (0 - 59).\n"
        },
        "username": {
          "type": "string",
          "description": "User name required to log into the file server.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Select the VDOM that can communicate with the file server. Valid values: `mgmt`, `current`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "weekday": {
          "type": "string",
          "description": "Day of the week on which to scan the server. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        }
      },
      "requiredInputs": [
        "server",
        "serverType",
        "username"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fpdocsource resources.\n",
        "properties": {
          "date": {
            "type": "integer",
            "description": "Day of the month on which to scan the server (1 - 31).\n"
          },
          "filePath": {
            "type": "string",
            "description": "Path on the server to the fingerprint files (max 119 characters).\n"
          },
          "filePattern": {
            "type": "string",
            "description": "Files matching this pattern on the server are fingerprinted. Optionally use the * and ? wildcards.\n"
          },
          "keepModified": {
            "type": "string",
            "description": "Enable so that when a file is changed on the server the FortiGate keeps the old fingerprint and adds a new fingerprint to the database. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the DLP fingerprint database.\n",
            "willReplaceOnChanges": true
          },
          "password": {
            "type": "string",
            "description": "Password required to log into the file server.\n",
            "secret": true
          },
          "period": {
            "type": "string",
            "description": "Frequency for which the FortiGate checks the server for new or changed files. Valid values: `none`, `daily`, `weekly`, `monthly`.\n"
          },
          "removeDeleted": {
            "type": "string",
            "description": "Enable to keep the fingerprint database up to date when a file is deleted from the server. Valid values: `enable`, `disable`.\n"
          },
          "scanOnCreation": {
            "type": "string",
            "description": "Enable to keep the fingerprint database up to date when a file is added or changed on the server. Valid values: `enable`, `disable`.\n"
          },
          "scanSubdirectories": {
            "type": "string",
            "description": "Enable/disable scanning subdirectories to find files to create fingerprints from. Valid values: `enable`, `disable`.\n"
          },
          "sensitivity": {
            "type": "string",
            "description": "Select a sensitivity or threat level for matches with this fingerprint database. Add sensitivities using fp-sensitivity.\n"
          },
          "server": {
            "type": "string",
            "description": "IPv4 or IPv6 address of the server.\n"
          },
          "serverType": {
            "type": "string",
            "description": "Protocol used to communicate with the file server. Currently only Samba (SMB) servers are supported. Valid values: `samba`.\n"
          },
          "todHour": {
            "type": "integer",
            "description": "Hour of the day on which to scan the server (0 - 23, default = 1).\n"
          },
          "todMin": {
            "type": "integer",
            "description": "Minute of the hour on which to scan the server (0 - 59).\n"
          },
          "username": {
            "type": "string",
            "description": "User name required to log into the file server.\n"
          },
          "vdom": {
            "type": "string",
            "description": "Select the VDOM that can communicate with the file server. Valid values: `mgmt`, `current`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "weekday": {
            "type": "string",
            "description": "Day of the week on which to scan the server. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:dlp/fpsensitivity:Fpsensitivity": {
      "description": "Create self-explanatory DLP sensitivity levels to be used when setting sensitivity under config fp-doc-source. Applies to FortiOS Version `<= 6.2.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.dlp.Fpsensitivity(\"trname\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.dlp.Fpsensitivity(\"trname\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Dlp.Fpsensitivity(\"trname\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/dlp\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dlp.NewFpsensitivity(ctx, \"trname\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.dlp.Fpsensitivity;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Fpsensitivity(\"trname\");\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:dlp:Fpsensitivity\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nDlp FpSensitivity can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dlp/fpsensitivity:Fpsensitivity labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dlp/fpsensitivity:Fpsensitivity labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "DLP Sensitivity Levels.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "DLP Sensitivity Levels.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fpsensitivity resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "DLP Sensitivity Levels.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:dlp/profile:Profile": {
      "description": "Configure DLP profiles. Applies to FortiOS Version `>= 7.2.0`.\n\n## Import\n\nDlp Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dlp/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dlp/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dlpLog": {
          "type": "string",
          "description": "Enable/disable DLP logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging for data leak prevention. Valid values: `enable`, `disable`.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "fullArchiveProto": {
          "type": "string",
          "description": "Protocols to always content archive. Valid values: `smtp`, `pop3`, `imap`, `http-get`, `http-post`, `ftp`, `nntp`, `mapi`, `ssh`, `cifs`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "nacQuarLog": {
          "type": "string",
          "description": "Enable/disable NAC quarantine logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the DLP profile.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group used by this DLP profile.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FProfileRule:ProfileRule"
          },
          "description": "Set up DLP rules for this profile. The structure of `rule` block is documented below.\n"
        },
        "summaryProto": {
          "type": "string",
          "description": "Protocols to always log summary. Valid values: `smtp`, `pop3`, `imap`, `http-get`, `http-post`, `ftp`, `nntp`, `mapi`, `ssh`, `cifs`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dlpLog",
        "extendedLog",
        "featureSet",
        "fullArchiveProto",
        "nacQuarLog",
        "name",
        "replacemsgGroup",
        "summaryProto",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dlpLog": {
          "type": "string",
          "description": "Enable/disable DLP logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging for data leak prevention. Valid values: `enable`, `disable`.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "fullArchiveProto": {
          "type": "string",
          "description": "Protocols to always content archive. Valid values: `smtp`, `pop3`, `imap`, `http-get`, `http-post`, `ftp`, `nntp`, `mapi`, `ssh`, `cifs`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "nacQuarLog": {
          "type": "string",
          "description": "Enable/disable NAC quarantine logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the DLP profile.\n",
          "willReplaceOnChanges": true
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group used by this DLP profile.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FProfileRule:ProfileRule"
          },
          "description": "Set up DLP rules for this profile. The structure of `rule` block is documented below.\n"
        },
        "summaryProto": {
          "type": "string",
          "description": "Protocols to always log summary. Valid values: `smtp`, `pop3`, `imap`, `http-get`, `http-post`, `ftp`, `nntp`, `mapi`, `ssh`, `cifs`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dlpLog": {
            "type": "string",
            "description": "Enable/disable DLP logging. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "extendedLog": {
            "type": "string",
            "description": "Enable/disable extended logging for data leak prevention. Valid values: `enable`, `disable`.\n"
          },
          "featureSet": {
            "type": "string",
            "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
          },
          "fullArchiveProto": {
            "type": "string",
            "description": "Protocols to always content archive. Valid values: `smtp`, `pop3`, `imap`, `http-get`, `http-post`, `ftp`, `nntp`, `mapi`, `ssh`, `cifs`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "nacQuarLog": {
            "type": "string",
            "description": "Enable/disable NAC quarantine logging. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the DLP profile.\n",
            "willReplaceOnChanges": true
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group used by this DLP profile.\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:dlp%2FProfileRule:ProfileRule"
            },
            "description": "Set up DLP rules for this profile. The structure of `rule` block is documented below.\n"
          },
          "summaryProto": {
            "type": "string",
            "description": "Protocols to always log summary. Valid values: `smtp`, `pop3`, `imap`, `http-get`, `http-post`, `ftp`, `nntp`, `mapi`, `ssh`, `cifs`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:dlp/sensitivity:Sensitivity": {
      "description": "Create self-explanatory DLP sensitivity levels to be used when setting sensitivity under config fp-doc-source. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nDlp Sensitivity can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dlp/sensitivity:Sensitivity labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dlp/sensitivity:Sensitivity labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "DLP Sensitivity Levels.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "DLP Sensitivity Levels.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sensitivity resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "DLP Sensitivity Levels.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:dlp/sensor:Sensor": {
      "description": "Configure DLP sensors.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.dlp.Sensor(\"trname\", {\n    dlpLog: \"enable\",\n    extendedLog: \"disable\",\n    flowBased: \"enable\",\n    nacQuarLog: \"disable\",\n    summaryProto: \"smtp pop3\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.dlp.Sensor(\"trname\",\n    dlp_log=\"enable\",\n    extended_log=\"disable\",\n    flow_based=\"enable\",\n    nac_quar_log=\"disable\",\n    summary_proto=\"smtp pop3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Dlp.Sensor(\"trname\", new()\n    {\n        DlpLog = \"enable\",\n        ExtendedLog = \"disable\",\n        FlowBased = \"enable\",\n        NacQuarLog = \"disable\",\n        SummaryProto = \"smtp pop3\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/dlp\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dlp.NewSensor(ctx, \"trname\", &dlp.SensorArgs{\n\t\t\tDlpLog:       pulumi.String(\"enable\"),\n\t\t\tExtendedLog:  pulumi.String(\"disable\"),\n\t\t\tFlowBased:    pulumi.String(\"enable\"),\n\t\t\tNacQuarLog:   pulumi.String(\"disable\"),\n\t\t\tSummaryProto: pulumi.String(\"smtp pop3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.dlp.Sensor;\nimport com.pulumi.fortios.dlp.SensorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Sensor(\"trname\", SensorArgs.builder()\n            .dlpLog(\"enable\")\n            .extendedLog(\"disable\")\n            .flowBased(\"enable\")\n            .nacQuarLog(\"disable\")\n            .summaryProto(\"smtp pop3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:dlp:Sensor\n    properties:\n      dlpLog: enable\n      extendedLog: disable\n      flowBased: enable\n      nacQuarLog: disable\n      summaryProto: smtp pop3\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nDlp Sensor can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dlp/sensor:Sensor labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dlp/sensor:Sensor labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dlpLog": {
          "type": "string",
          "description": "Enable/disable DLP logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FSensorEntry:SensorEntry"
          },
          "description": "DLP sensor entries. The structure of `entries` block is documented below.\n"
        },
        "eval": {
          "type": "string",
          "description": "Expression to evaluate.\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging for data leak prevention. Valid values: `enable`, `disable`.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FSensorFilter:SensorFilter"
          },
          "description": "Set up DLP filters for this sensor. The structure of `filter` block is documented below.\n"
        },
        "flowBased": {
          "type": "string",
          "description": "Enable/disable flow-based DLP. Valid values: `enable`, `disable`.\n"
        },
        "fullArchiveProto": {
          "type": "string",
          "description": "Protocols to always content archive.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "matchType": {
          "type": "string",
          "description": "Logical relation between entries (default = match-any). Valid values: `match-all`, `match-any`, `match-eval`.\n"
        },
        "nacQuarLog": {
          "type": "string",
          "description": "Enable/disable NAC quarantine logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the DLP sensor.\n"
        },
        "options": {
          "type": "string",
          "description": "Configure DLP options.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group used by this DLP sensor.\n"
        },
        "summaryProto": {
          "type": "string",
          "description": "Protocols to always log summary.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dlpLog",
        "eval",
        "extendedLog",
        "featureSet",
        "flowBased",
        "fullArchiveProto",
        "matchType",
        "nacQuarLog",
        "name",
        "options",
        "replacemsgGroup",
        "summaryProto",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dlpLog": {
          "type": "string",
          "description": "Enable/disable DLP logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FSensorEntry:SensorEntry"
          },
          "description": "DLP sensor entries. The structure of `entries` block is documented below.\n"
        },
        "eval": {
          "type": "string",
          "description": "Expression to evaluate.\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging for data leak prevention. Valid values: `enable`, `disable`.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dlp%2FSensorFilter:SensorFilter"
          },
          "description": "Set up DLP filters for this sensor. The structure of `filter` block is documented below.\n"
        },
        "flowBased": {
          "type": "string",
          "description": "Enable/disable flow-based DLP. Valid values: `enable`, `disable`.\n"
        },
        "fullArchiveProto": {
          "type": "string",
          "description": "Protocols to always content archive.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "matchType": {
          "type": "string",
          "description": "Logical relation between entries (default = match-any). Valid values: `match-all`, `match-any`, `match-eval`.\n"
        },
        "nacQuarLog": {
          "type": "string",
          "description": "Enable/disable NAC quarantine logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the DLP sensor.\n",
          "willReplaceOnChanges": true
        },
        "options": {
          "type": "string",
          "description": "Configure DLP options.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group used by this DLP sensor.\n"
        },
        "summaryProto": {
          "type": "string",
          "description": "Protocols to always log summary.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sensor resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dlpLog": {
            "type": "string",
            "description": "Enable/disable DLP logging. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:dlp%2FSensorEntry:SensorEntry"
            },
            "description": "DLP sensor entries. The structure of `entries` block is documented below.\n"
          },
          "eval": {
            "type": "string",
            "description": "Expression to evaluate.\n"
          },
          "extendedLog": {
            "type": "string",
            "description": "Enable/disable extended logging for data leak prevention. Valid values: `enable`, `disable`.\n"
          },
          "featureSet": {
            "type": "string",
            "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:dlp%2FSensorFilter:SensorFilter"
            },
            "description": "Set up DLP filters for this sensor. The structure of `filter` block is documented below.\n"
          },
          "flowBased": {
            "type": "string",
            "description": "Enable/disable flow-based DLP. Valid values: `enable`, `disable`.\n"
          },
          "fullArchiveProto": {
            "type": "string",
            "description": "Protocols to always content archive.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "matchType": {
            "type": "string",
            "description": "Logical relation between entries (default = match-any). Valid values: `match-all`, `match-any`, `match-eval`.\n"
          },
          "nacQuarLog": {
            "type": "string",
            "description": "Enable/disable NAC quarantine logging. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the DLP sensor.\n",
            "willReplaceOnChanges": true
          },
          "options": {
            "type": "string",
            "description": "Configure DLP options.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group used by this DLP sensor.\n"
          },
          "summaryProto": {
            "type": "string",
            "description": "Protocols to always log summary.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:dlp/settings:Settings": {
      "description": "Designate logical storage for DLP fingerprint database.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.dlp.Settings(\"trname\", {\n    cacheMemPercent: 2,\n    chunkSize: 2800,\n    dbMode: \"stop-adding\",\n    size: 16,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.dlp.Settings(\"trname\",\n    cache_mem_percent=2,\n    chunk_size=2800,\n    db_mode=\"stop-adding\",\n    size=16)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Dlp.Settings(\"trname\", new()\n    {\n        CacheMemPercent = 2,\n        ChunkSize = 2800,\n        DbMode = \"stop-adding\",\n        Size = 16,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/dlp\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := dlp.NewSettings(ctx, \"trname\", &dlp.SettingsArgs{\n\t\t\tCacheMemPercent: pulumi.Int(2),\n\t\t\tChunkSize:       pulumi.Int(2800),\n\t\t\tDbMode:          pulumi.String(\"stop-adding\"),\n\t\t\tSize:            pulumi.Int(16),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.dlp.Settings;\nimport com.pulumi.fortios.dlp.SettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Settings(\"trname\", SettingsArgs.builder()\n            .cacheMemPercent(2)\n            .chunkSize(2800)\n            .dbMode(\"stop-adding\")\n            .size(16)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:dlp:Settings\n    properties:\n      cacheMemPercent: 2\n      chunkSize: 2800\n      dbMode: stop-adding\n      size: 16\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nDlp Settings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dlp/settings:Settings labelname DlpSettings\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dlp/settings:Settings labelname DlpSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cacheMemPercent": {
          "type": "integer",
          "description": "Maximum percentage of available memory allocated to caching (1 - 15).\n"
        },
        "chunkSize": {
          "type": "integer",
          "description": "Maximum fingerprint chunk size.  **Changing will flush the entire database**.\n"
        },
        "dbMode": {
          "type": "string",
          "description": "Behaviour when the maximum size is reached. Valid values: `stop-adding`, `remove-modified-then-oldest`, `remove-oldest`.\n"
        },
        "size": {
          "type": "integer",
          "description": "Maximum total size of files within the storage (MB).\n"
        },
        "storageDevice": {
          "type": "string",
          "description": "Storage device name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "cacheMemPercent",
        "chunkSize",
        "dbMode",
        "size",
        "storageDevice",
        "vdomparam"
      ],
      "inputProperties": {
        "cacheMemPercent": {
          "type": "integer",
          "description": "Maximum percentage of available memory allocated to caching (1 - 15).\n"
        },
        "chunkSize": {
          "type": "integer",
          "description": "Maximum fingerprint chunk size.  **Changing will flush the entire database**.\n"
        },
        "dbMode": {
          "type": "string",
          "description": "Behaviour when the maximum size is reached. Valid values: `stop-adding`, `remove-modified-then-oldest`, `remove-oldest`.\n"
        },
        "size": {
          "type": "integer",
          "description": "Maximum total size of files within the storage (MB).\n"
        },
        "storageDevice": {
          "type": "string",
          "description": "Storage device name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Settings resources.\n",
        "properties": {
          "cacheMemPercent": {
            "type": "integer",
            "description": "Maximum percentage of available memory allocated to caching (1 - 15).\n"
          },
          "chunkSize": {
            "type": "integer",
            "description": "Maximum fingerprint chunk size.  **Changing will flush the entire database**.\n"
          },
          "dbMode": {
            "type": "string",
            "description": "Behaviour when the maximum size is reached. Valid values: `stop-adding`, `remove-modified-then-oldest`, `remove-oldest`.\n"
          },
          "size": {
            "type": "integer",
            "description": "Maximum total size of files within the storage (MB).\n"
          },
          "storageDevice": {
            "type": "string",
            "description": "Storage device name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:dpdk/cpus:Cpus": {
      "description": "Configure CPUs enabled to run engines in each DPDK stage. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nDpdk Cpus can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dpdk/cpus:Cpus labelname DpdkCpus\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dpdk/cpus:Cpus labelname DpdkCpus\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "ipsCpus": {
          "type": "string",
          "description": "CPUs enabled to run DPDK IPS engines.\n"
        },
        "isolatedCpus": {
          "type": "string",
          "description": "CPUs isolated to run only the DPDK engines with the exception of processes that have affinity explicitly set by either a user configuration or by their implementation.\n"
        },
        "rxCpus": {
          "type": "string",
          "description": "CPUs enabled to run DPDK RX engines.\n"
        },
        "txCpus": {
          "type": "string",
          "description": "CPUs enabled to run DPDK TX engines.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vnpCpus": {
          "type": "string",
          "description": "CPUs enabled to run DPDK VNP engines.\n"
        },
        "vnpspCpus": {
          "type": "string",
          "description": "CPUs enabled to run DPDK VNP slow path.\n"
        }
      },
      "type": "object",
      "required": [
        "ipsCpus",
        "isolatedCpus",
        "rxCpus",
        "txCpus",
        "vdomparam",
        "vnpCpus",
        "vnpspCpus"
      ],
      "inputProperties": {
        "ipsCpus": {
          "type": "string",
          "description": "CPUs enabled to run DPDK IPS engines.\n"
        },
        "isolatedCpus": {
          "type": "string",
          "description": "CPUs isolated to run only the DPDK engines with the exception of processes that have affinity explicitly set by either a user configuration or by their implementation.\n"
        },
        "rxCpus": {
          "type": "string",
          "description": "CPUs enabled to run DPDK RX engines.\n"
        },
        "txCpus": {
          "type": "string",
          "description": "CPUs enabled to run DPDK TX engines.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vnpCpus": {
          "type": "string",
          "description": "CPUs enabled to run DPDK VNP engines.\n"
        },
        "vnpspCpus": {
          "type": "string",
          "description": "CPUs enabled to run DPDK VNP slow path.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Cpus resources.\n",
        "properties": {
          "ipsCpus": {
            "type": "string",
            "description": "CPUs enabled to run DPDK IPS engines.\n"
          },
          "isolatedCpus": {
            "type": "string",
            "description": "CPUs isolated to run only the DPDK engines with the exception of processes that have affinity explicitly set by either a user configuration or by their implementation.\n"
          },
          "rxCpus": {
            "type": "string",
            "description": "CPUs enabled to run DPDK RX engines.\n"
          },
          "txCpus": {
            "type": "string",
            "description": "CPUs enabled to run DPDK TX engines.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vnpCpus": {
            "type": "string",
            "description": "CPUs enabled to run DPDK VNP engines.\n"
          },
          "vnpspCpus": {
            "type": "string",
            "description": "CPUs enabled to run DPDK VNP slow path.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:dpdk/global:Global": {
      "description": "Configure global DPDK options. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nDpdk Global can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:dpdk/global:Global labelname DpdkGlobal\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:dpdk/global:Global labelname DpdkGlobal\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "elasticbuffer": {
          "type": "string",
          "description": "Enable/disable elasticbuffer support for all DPDK ports. Valid values: `disable`, `enable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hugepagePercentage": {
          "type": "integer",
          "description": "Percentage of main memory allocated to hugepages, which are available for DPDK operation.\n"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dpdk%2FGlobalInterface:GlobalInterface"
          },
          "description": "Physical interfaces that enable DPDK. The structure of `interface` block is documented below.\n"
        },
        "ipsecOffload": {
          "type": "string",
          "description": "Enable/disable DPDK IPsec phase 2 offloading. Valid values: `disable`, `enable`.\n"
        },
        "mbufpoolPercentage": {
          "type": "integer",
          "description": "Percentage of main memory allocated to DPDK packet buffer.\n"
        },
        "multiqueue": {
          "type": "string",
          "description": "Enable/disable multi-queue RX/TX support for all DPDK ports. Valid values: `disable`, `enable`.\n"
        },
        "perSessionAccounting": {
          "type": "string",
          "description": "Enable/disable per-session accounting. Valid values: `disable`, `traffic-log-only`, `enable`.\n"
        },
        "protects": {
          "type": "string",
          "description": "Special arguments for device\n"
        },
        "sleepOnIdle": {
          "type": "string",
          "description": "Enable/disable sleep-on-idle support for all FDH engines. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable DPDK operation for the entire system. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "elasticbuffer",
        "hugepagePercentage",
        "ipsecOffload",
        "mbufpoolPercentage",
        "multiqueue",
        "perSessionAccounting",
        "protects",
        "sleepOnIdle",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "elasticbuffer": {
          "type": "string",
          "description": "Enable/disable elasticbuffer support for all DPDK ports. Valid values: `disable`, `enable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hugepagePercentage": {
          "type": "integer",
          "description": "Percentage of main memory allocated to hugepages, which are available for DPDK operation.\n"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:dpdk%2FGlobalInterface:GlobalInterface"
          },
          "description": "Physical interfaces that enable DPDK. The structure of `interface` block is documented below.\n"
        },
        "ipsecOffload": {
          "type": "string",
          "description": "Enable/disable DPDK IPsec phase 2 offloading. Valid values: `disable`, `enable`.\n"
        },
        "mbufpoolPercentage": {
          "type": "integer",
          "description": "Percentage of main memory allocated to DPDK packet buffer.\n"
        },
        "multiqueue": {
          "type": "string",
          "description": "Enable/disable multi-queue RX/TX support for all DPDK ports. Valid values: `disable`, `enable`.\n"
        },
        "perSessionAccounting": {
          "type": "string",
          "description": "Enable/disable per-session accounting. Valid values: `disable`, `traffic-log-only`, `enable`.\n"
        },
        "protects": {
          "type": "string",
          "description": "Special arguments for device\n"
        },
        "sleepOnIdle": {
          "type": "string",
          "description": "Enable/disable sleep-on-idle support for all FDH engines. Valid values: `disable`, `enable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable DPDK operation for the entire system. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Global resources.\n",
        "properties": {
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "elasticbuffer": {
            "type": "string",
            "description": "Enable/disable elasticbuffer support for all DPDK ports. Valid values: `disable`, `enable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "hugepagePercentage": {
            "type": "integer",
            "description": "Percentage of main memory allocated to hugepages, which are available for DPDK operation.\n"
          },
          "interfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:dpdk%2FGlobalInterface:GlobalInterface"
            },
            "description": "Physical interfaces that enable DPDK. The structure of `interface` block is documented below.\n"
          },
          "ipsecOffload": {
            "type": "string",
            "description": "Enable/disable DPDK IPsec phase 2 offloading. Valid values: `disable`, `enable`.\n"
          },
          "mbufpoolPercentage": {
            "type": "integer",
            "description": "Percentage of main memory allocated to DPDK packet buffer.\n"
          },
          "multiqueue": {
            "type": "string",
            "description": "Enable/disable multi-queue RX/TX support for all DPDK ports. Valid values: `disable`, `enable`.\n"
          },
          "perSessionAccounting": {
            "type": "string",
            "description": "Enable/disable per-session accounting. Valid values: `disable`, `traffic-log-only`, `enable`.\n"
          },
          "protects": {
            "type": "string",
            "description": "Special arguments for device\n"
          },
          "sleepOnIdle": {
            "type": "string",
            "description": "Enable/disable sleep-on-idle support for all FDH engines. Valid values: `disable`, `enable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable DPDK operation for the entire system. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:endpointcontrol/client:Client": {
      "description": "Configure endpoint control client lists. Applies to FortiOS Version `<= 6.2.0`.\n\n## Import\n\nEndpointControl Client can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:endpointcontrol/client:Client labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:endpointcontrol/client:Client labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "adGroups": {
          "type": "string",
          "description": "Endpoint client AD logon groups.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Endpoint client ID.\n"
        },
        "ftclUid": {
          "type": "string",
          "description": "Endpoint FortiClient UID.\n"
        },
        "info": {
          "type": "string",
          "description": "Endpoint client information.\n"
        },
        "srcIp": {
          "type": "string",
          "description": "Endpoint client IP address.\n"
        },
        "srcMac": {
          "type": "string",
          "description": "Endpoint client MAC address.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "ftclUid",
        "info",
        "srcIp",
        "srcMac",
        "vdomparam"
      ],
      "inputProperties": {
        "adGroups": {
          "type": "string",
          "description": "Endpoint client AD logon groups.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Endpoint client ID.\n",
          "willReplaceOnChanges": true
        },
        "ftclUid": {
          "type": "string",
          "description": "Endpoint FortiClient UID.\n"
        },
        "info": {
          "type": "string",
          "description": "Endpoint client information.\n"
        },
        "srcIp": {
          "type": "string",
          "description": "Endpoint client IP address.\n"
        },
        "srcMac": {
          "type": "string",
          "description": "Endpoint client MAC address.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Client resources.\n",
        "properties": {
          "adGroups": {
            "type": "string",
            "description": "Endpoint client AD logon groups.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Endpoint client ID.\n",
            "willReplaceOnChanges": true
          },
          "ftclUid": {
            "type": "string",
            "description": "Endpoint FortiClient UID.\n"
          },
          "info": {
            "type": "string",
            "description": "Endpoint client information.\n"
          },
          "srcIp": {
            "type": "string",
            "description": "Endpoint client IP address.\n"
          },
          "srcMac": {
            "type": "string",
            "description": "Endpoint client MAC address.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:endpointcontrol/fctems:Fctems": {
      "description": "Configure FortiClient Enterprise Management Server (EMS) entries. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nEndpointControl Fctems can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:endpointcontrol/fctems:Fctems labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:endpointcontrol/fctems:Fctems labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "adminPassword": {
          "type": "string",
          "description": "FortiClient EMS admin password.\n",
          "secret": true
        },
        "adminUsername": {
          "type": "string",
          "description": "FortiClient EMS admin username.\n"
        },
        "callTimeout": {
          "type": "integer",
          "description": "FortiClient EMS call timeout. On FortiOS versions 6.2.4-6.2.6: 500 - 30000 milliseconds, default = 5000. On FortiOS versions 6.4.0: 500 - 50000 milliseconds, default = 5000. On FortiOS versions >= 6.4.2: 1 - 180 seconds, default = 30. On FortiOS versions 6.4.1: 500 - 180000 milliseconds, default = 30000.\n"
        },
        "capabilities": {
          "type": "string",
          "description": "List of EMS capabilities.\n"
        },
        "certificate": {
          "type": "string",
          "description": "FortiClient EMS certificate.\n"
        },
        "cloudAuthenticationAccessKey": {
          "type": "string",
          "description": "FortiClient EMS Cloud multitenancy access key\n"
        },
        "cloudServerType": {
          "type": "string",
          "description": "Cloud server type. Valid values: `production`, `alpha`, `beta`.\n"
        },
        "dirtyReason": {
          "type": "string",
          "description": "Dirty Reason for FortiClient EMS. Valid values: `none`, `mismatched-ems-sn`.\n"
        },
        "emsId": {
          "type": "integer",
          "description": "EMS ID in order. On FortiOS versions 7.0.8-7.0.15, 7.2.1-7.2.3: 1 - 5. On FortiOS versions >= 7.2.4: 1 - 7.\n"
        },
        "fortinetoneCloudAuthentication": {
          "type": "string",
          "description": "Enable/disable authentication of FortiClient EMS Cloud through FortiCloud account. Valid values: `enable`, `disable`.\n"
        },
        "httpsPort": {
          "type": "integer",
          "description": "FortiClient EMS HTTPS access port number. (1 - 65535, default: 443).\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiClient Enterprise Management Server (EMS) name.\n"
        },
        "outOfSyncThreshold": {
          "type": "integer",
          "description": "Outdated resource threshold in seconds (10 - 3600, default = 180).\n"
        },
        "preserveSslSession": {
          "type": "string",
          "description": "Enable/disable preservation of EMS SSL session connection. WARNING: Most users should not touch this setting! Valid values: `enable`, `disable`.\n"
        },
        "pullAvatars": {
          "type": "string",
          "description": "Enable/disable pulling avatars from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullMalwareHash": {
          "type": "string",
          "description": "Enable/disable pulling FortiClient malware hash from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullSysinfo": {
          "type": "string",
          "description": "Enable/disable pulling SysInfo from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullTags": {
          "type": "string",
          "description": "Enable/disable pulling FortiClient user tags from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullVulnerabilities": {
          "type": "string",
          "description": "Enable/disable pulling vulnerabilities from EMS. Valid values: `enable`, `disable`.\n"
        },
        "sendTagsToAllVdoms": {
          "type": "string",
          "description": "Relax restrictions on tags to send all EMS tags to all VDOMs Valid values: `enable`, `disable`.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "FortiClient EMS Serial Number.\n"
        },
        "server": {
          "type": "string",
          "description": "FortiClient EMS FQDN or IPv4 address.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "REST API call source IP.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this EMS configuration. Valid values: `enable`, `disable`.\n"
        },
        "statusCheckInterval": {
          "type": "integer",
          "description": "FortiClient EMS call timeout in seconds (1 - 120 seconds, default = 5).\n"
        },
        "tenantId": {
          "type": "string",
          "description": "EMS Tenant ID.\n"
        },
        "trustCaCn": {
          "type": "string",
          "description": "Enable/disable trust of the EMS certificate issuer(CA) and common name(CN) for certificate auto-renewal. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "verifyingCa": {
          "type": "string",
          "description": "Lowest CA cert on Fortigate in verified EMS cert chain.\n"
        },
        "websocketOverride": {
          "type": "string",
          "description": "Enable/disable override behavior for how this FortiGate unit connects to EMS using a WebSocket connection. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "required": [
        "adminUsername",
        "callTimeout",
        "capabilities",
        "certificate",
        "cloudAuthenticationAccessKey",
        "cloudServerType",
        "dirtyReason",
        "emsId",
        "fortinetoneCloudAuthentication",
        "httpsPort",
        "interface",
        "interfaceSelectMethod",
        "name",
        "outOfSyncThreshold",
        "preserveSslSession",
        "pullAvatars",
        "pullMalwareHash",
        "pullSysinfo",
        "pullTags",
        "pullVulnerabilities",
        "sendTagsToAllVdoms",
        "serialNumber",
        "server",
        "sourceIp",
        "status",
        "statusCheckInterval",
        "tenantId",
        "trustCaCn",
        "vdomparam",
        "verifyingCa",
        "websocketOverride"
      ],
      "inputProperties": {
        "adminPassword": {
          "type": "string",
          "description": "FortiClient EMS admin password.\n",
          "secret": true
        },
        "adminUsername": {
          "type": "string",
          "description": "FortiClient EMS admin username.\n"
        },
        "callTimeout": {
          "type": "integer",
          "description": "FortiClient EMS call timeout. On FortiOS versions 6.2.4-6.2.6: 500 - 30000 milliseconds, default = 5000. On FortiOS versions 6.4.0: 500 - 50000 milliseconds, default = 5000. On FortiOS versions >= 6.4.2: 1 - 180 seconds, default = 30. On FortiOS versions 6.4.1: 500 - 180000 milliseconds, default = 30000.\n"
        },
        "capabilities": {
          "type": "string",
          "description": "List of EMS capabilities.\n"
        },
        "certificate": {
          "type": "string",
          "description": "FortiClient EMS certificate.\n"
        },
        "cloudAuthenticationAccessKey": {
          "type": "string",
          "description": "FortiClient EMS Cloud multitenancy access key\n"
        },
        "cloudServerType": {
          "type": "string",
          "description": "Cloud server type. Valid values: `production`, `alpha`, `beta`.\n"
        },
        "dirtyReason": {
          "type": "string",
          "description": "Dirty Reason for FortiClient EMS. Valid values: `none`, `mismatched-ems-sn`.\n"
        },
        "emsId": {
          "type": "integer",
          "description": "EMS ID in order. On FortiOS versions 7.0.8-7.0.15, 7.2.1-7.2.3: 1 - 5. On FortiOS versions >= 7.2.4: 1 - 7.\n"
        },
        "fortinetoneCloudAuthentication": {
          "type": "string",
          "description": "Enable/disable authentication of FortiClient EMS Cloud through FortiCloud account. Valid values: `enable`, `disable`.\n"
        },
        "httpsPort": {
          "type": "integer",
          "description": "FortiClient EMS HTTPS access port number. (1 - 65535, default: 443).\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiClient Enterprise Management Server (EMS) name.\n",
          "willReplaceOnChanges": true
        },
        "outOfSyncThreshold": {
          "type": "integer",
          "description": "Outdated resource threshold in seconds (10 - 3600, default = 180).\n"
        },
        "preserveSslSession": {
          "type": "string",
          "description": "Enable/disable preservation of EMS SSL session connection. WARNING: Most users should not touch this setting! Valid values: `enable`, `disable`.\n"
        },
        "pullAvatars": {
          "type": "string",
          "description": "Enable/disable pulling avatars from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullMalwareHash": {
          "type": "string",
          "description": "Enable/disable pulling FortiClient malware hash from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullSysinfo": {
          "type": "string",
          "description": "Enable/disable pulling SysInfo from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullTags": {
          "type": "string",
          "description": "Enable/disable pulling FortiClient user tags from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullVulnerabilities": {
          "type": "string",
          "description": "Enable/disable pulling vulnerabilities from EMS. Valid values: `enable`, `disable`.\n"
        },
        "sendTagsToAllVdoms": {
          "type": "string",
          "description": "Relax restrictions on tags to send all EMS tags to all VDOMs Valid values: `enable`, `disable`.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "FortiClient EMS Serial Number.\n"
        },
        "server": {
          "type": "string",
          "description": "FortiClient EMS FQDN or IPv4 address.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "REST API call source IP.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this EMS configuration. Valid values: `enable`, `disable`.\n"
        },
        "statusCheckInterval": {
          "type": "integer",
          "description": "FortiClient EMS call timeout in seconds (1 - 120 seconds, default = 5).\n"
        },
        "tenantId": {
          "type": "string",
          "description": "EMS Tenant ID.\n"
        },
        "trustCaCn": {
          "type": "string",
          "description": "Enable/disable trust of the EMS certificate issuer(CA) and common name(CN) for certificate auto-renewal. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "verifyingCa": {
          "type": "string",
          "description": "Lowest CA cert on Fortigate in verified EMS cert chain.\n"
        },
        "websocketOverride": {
          "type": "string",
          "description": "Enable/disable override behavior for how this FortiGate unit connects to EMS using a WebSocket connection. Valid values: `disable`, `enable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fctems resources.\n",
        "properties": {
          "adminPassword": {
            "type": "string",
            "description": "FortiClient EMS admin password.\n",
            "secret": true
          },
          "adminUsername": {
            "type": "string",
            "description": "FortiClient EMS admin username.\n"
          },
          "callTimeout": {
            "type": "integer",
            "description": "FortiClient EMS call timeout. On FortiOS versions 6.2.4-6.2.6: 500 - 30000 milliseconds, default = 5000. On FortiOS versions 6.4.0: 500 - 50000 milliseconds, default = 5000. On FortiOS versions >= 6.4.2: 1 - 180 seconds, default = 30. On FortiOS versions 6.4.1: 500 - 180000 milliseconds, default = 30000.\n"
          },
          "capabilities": {
            "type": "string",
            "description": "List of EMS capabilities.\n"
          },
          "certificate": {
            "type": "string",
            "description": "FortiClient EMS certificate.\n"
          },
          "cloudAuthenticationAccessKey": {
            "type": "string",
            "description": "FortiClient EMS Cloud multitenancy access key\n"
          },
          "cloudServerType": {
            "type": "string",
            "description": "Cloud server type. Valid values: `production`, `alpha`, `beta`.\n"
          },
          "dirtyReason": {
            "type": "string",
            "description": "Dirty Reason for FortiClient EMS. Valid values: `none`, `mismatched-ems-sn`.\n"
          },
          "emsId": {
            "type": "integer",
            "description": "EMS ID in order. On FortiOS versions 7.0.8-7.0.15, 7.2.1-7.2.3: 1 - 5. On FortiOS versions >= 7.2.4: 1 - 7.\n"
          },
          "fortinetoneCloudAuthentication": {
            "type": "string",
            "description": "Enable/disable authentication of FortiClient EMS Cloud through FortiCloud account. Valid values: `enable`, `disable`.\n"
          },
          "httpsPort": {
            "type": "integer",
            "description": "FortiClient EMS HTTPS access port number. (1 - 65535, default: 443).\n"
          },
          "interface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "interfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiClient Enterprise Management Server (EMS) name.\n",
            "willReplaceOnChanges": true
          },
          "outOfSyncThreshold": {
            "type": "integer",
            "description": "Outdated resource threshold in seconds (10 - 3600, default = 180).\n"
          },
          "preserveSslSession": {
            "type": "string",
            "description": "Enable/disable preservation of EMS SSL session connection. WARNING: Most users should not touch this setting! Valid values: `enable`, `disable`.\n"
          },
          "pullAvatars": {
            "type": "string",
            "description": "Enable/disable pulling avatars from EMS. Valid values: `enable`, `disable`.\n"
          },
          "pullMalwareHash": {
            "type": "string",
            "description": "Enable/disable pulling FortiClient malware hash from EMS. Valid values: `enable`, `disable`.\n"
          },
          "pullSysinfo": {
            "type": "string",
            "description": "Enable/disable pulling SysInfo from EMS. Valid values: `enable`, `disable`.\n"
          },
          "pullTags": {
            "type": "string",
            "description": "Enable/disable pulling FortiClient user tags from EMS. Valid values: `enable`, `disable`.\n"
          },
          "pullVulnerabilities": {
            "type": "string",
            "description": "Enable/disable pulling vulnerabilities from EMS. Valid values: `enable`, `disable`.\n"
          },
          "sendTagsToAllVdoms": {
            "type": "string",
            "description": "Relax restrictions on tags to send all EMS tags to all VDOMs Valid values: `enable`, `disable`.\n"
          },
          "serialNumber": {
            "type": "string",
            "description": "FortiClient EMS Serial Number.\n"
          },
          "server": {
            "type": "string",
            "description": "FortiClient EMS FQDN or IPv4 address.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "REST API call source IP.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable or disable this EMS configuration. Valid values: `enable`, `disable`.\n"
          },
          "statusCheckInterval": {
            "type": "integer",
            "description": "FortiClient EMS call timeout in seconds (1 - 120 seconds, default = 5).\n"
          },
          "tenantId": {
            "type": "string",
            "description": "EMS Tenant ID.\n"
          },
          "trustCaCn": {
            "type": "string",
            "description": "Enable/disable trust of the EMS certificate issuer(CA) and common name(CN) for certificate auto-renewal. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "verifyingCa": {
            "type": "string",
            "description": "Lowest CA cert on Fortigate in verified EMS cert chain.\n"
          },
          "websocketOverride": {
            "type": "string",
            "description": "Enable/disable override behavior for how this FortiGate unit connects to EMS using a WebSocket connection. Valid values: `disable`, `enable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:endpointcontrol/fctemsoverride:Fctemsoverride": {
      "description": "Configure FortiClient Enterprise Management Server (EMS) entries. Applies to FortiOS Version `>= 7.4.0`.\n\n## Import\n\nEndpointControl FctemsOverride can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:endpointcontrol/fctemsoverride:Fctemsoverride labelname {{ems_id}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:endpointcontrol/fctemsoverride:Fctemsoverride labelname {{ems_id}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "callTimeout": {
          "type": "integer",
          "description": "FortiClient EMS call timeout in seconds (1 - 180 seconds, default = 30).\n"
        },
        "capabilities": {
          "type": "string",
          "description": "List of EMS capabilities.\n"
        },
        "cloudAuthenticationAccessKey": {
          "type": "string",
          "description": "FortiClient EMS Cloud multitenancy access key\n"
        },
        "cloudServerType": {
          "type": "string",
          "description": "Cloud server type. Valid values: `production`, `alpha`, `beta`.\n"
        },
        "dirtyReason": {
          "type": "string",
          "description": "Dirty Reason for FortiClient EMS. Valid values: `none`, `mismatched-ems-sn`.\n"
        },
        "emsId": {
          "type": "integer",
          "description": "EMS ID in order (1 - 7).\n"
        },
        "fortinetoneCloudAuthentication": {
          "type": "string",
          "description": "Enable/disable authentication of FortiClient EMS Cloud through FortiCloud account. Valid values: `enable`, `disable`.\n"
        },
        "httpsPort": {
          "type": "integer",
          "description": "FortiClient EMS HTTPS access port number. (1 - 65535, default: 443).\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiClient Enterprise Management Server (EMS) name.\n"
        },
        "outOfSyncThreshold": {
          "type": "integer",
          "description": "Outdated resource threshold in seconds (10 - 3600, default = 180).\n"
        },
        "preserveSslSession": {
          "type": "string",
          "description": "Enable/disable preservation of EMS SSL session connection. Warning, most users should not touch this setting. Valid values: `enable`, `disable`.\n"
        },
        "pullAvatars": {
          "type": "string",
          "description": "Enable/disable pulling avatars from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullMalwareHash": {
          "type": "string",
          "description": "Enable/disable pulling FortiClient malware hash from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullSysinfo": {
          "type": "string",
          "description": "Enable/disable pulling SysInfo from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullTags": {
          "type": "string",
          "description": "Enable/disable pulling FortiClient user tags from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullVulnerabilities": {
          "type": "string",
          "description": "Enable/disable pulling vulnerabilities from EMS. Valid values: `enable`, `disable`.\n"
        },
        "sendTagsToAllVdoms": {
          "type": "string",
          "description": "Relax restrictions on tags to send all EMS tags to all VDOMs Valid values: `enable`, `disable`.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "EMS Serial Number.\n"
        },
        "server": {
          "type": "string",
          "description": "FortiClient EMS FQDN or IPv4 address.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "REST API call source IP.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this EMS configuration. Valid values: `enable`, `disable`.\n"
        },
        "tenantId": {
          "type": "string",
          "description": "EMS Tenant ID.\n"
        },
        "trustCaCn": {
          "type": "string",
          "description": "Enable/disable trust of the EMS certificate issuer(CA) and common name(CN) for certificate auto-renewal. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "verifyingCa": {
          "type": "string",
          "description": "Lowest CA cert on Fortigate in verified EMS cert chain.\n"
        },
        "websocketOverride": {
          "type": "string",
          "description": "Enable/disable override behavior for how this FortiGate unit connects to EMS using a WebSocket connection. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "required": [
        "callTimeout",
        "capabilities",
        "cloudAuthenticationAccessKey",
        "cloudServerType",
        "dirtyReason",
        "emsId",
        "fortinetoneCloudAuthentication",
        "httpsPort",
        "interface",
        "interfaceSelectMethod",
        "name",
        "outOfSyncThreshold",
        "preserveSslSession",
        "pullAvatars",
        "pullMalwareHash",
        "pullSysinfo",
        "pullTags",
        "pullVulnerabilities",
        "sendTagsToAllVdoms",
        "serialNumber",
        "server",
        "sourceIp",
        "status",
        "tenantId",
        "trustCaCn",
        "vdomparam",
        "verifyingCa",
        "websocketOverride"
      ],
      "inputProperties": {
        "callTimeout": {
          "type": "integer",
          "description": "FortiClient EMS call timeout in seconds (1 - 180 seconds, default = 30).\n"
        },
        "capabilities": {
          "type": "string",
          "description": "List of EMS capabilities.\n"
        },
        "cloudAuthenticationAccessKey": {
          "type": "string",
          "description": "FortiClient EMS Cloud multitenancy access key\n"
        },
        "cloudServerType": {
          "type": "string",
          "description": "Cloud server type. Valid values: `production`, `alpha`, `beta`.\n"
        },
        "dirtyReason": {
          "type": "string",
          "description": "Dirty Reason for FortiClient EMS. Valid values: `none`, `mismatched-ems-sn`.\n"
        },
        "emsId": {
          "type": "integer",
          "description": "EMS ID in order (1 - 7).\n",
          "willReplaceOnChanges": true
        },
        "fortinetoneCloudAuthentication": {
          "type": "string",
          "description": "Enable/disable authentication of FortiClient EMS Cloud through FortiCloud account. Valid values: `enable`, `disable`.\n"
        },
        "httpsPort": {
          "type": "integer",
          "description": "FortiClient EMS HTTPS access port number. (1 - 65535, default: 443).\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiClient Enterprise Management Server (EMS) name.\n"
        },
        "outOfSyncThreshold": {
          "type": "integer",
          "description": "Outdated resource threshold in seconds (10 - 3600, default = 180).\n"
        },
        "preserveSslSession": {
          "type": "string",
          "description": "Enable/disable preservation of EMS SSL session connection. Warning, most users should not touch this setting. Valid values: `enable`, `disable`.\n"
        },
        "pullAvatars": {
          "type": "string",
          "description": "Enable/disable pulling avatars from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullMalwareHash": {
          "type": "string",
          "description": "Enable/disable pulling FortiClient malware hash from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullSysinfo": {
          "type": "string",
          "description": "Enable/disable pulling SysInfo from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullTags": {
          "type": "string",
          "description": "Enable/disable pulling FortiClient user tags from EMS. Valid values: `enable`, `disable`.\n"
        },
        "pullVulnerabilities": {
          "type": "string",
          "description": "Enable/disable pulling vulnerabilities from EMS. Valid values: `enable`, `disable`.\n"
        },
        "sendTagsToAllVdoms": {
          "type": "string",
          "description": "Relax restrictions on tags to send all EMS tags to all VDOMs Valid values: `enable`, `disable`.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "EMS Serial Number.\n"
        },
        "server": {
          "type": "string",
          "description": "FortiClient EMS FQDN or IPv4 address.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "REST API call source IP.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this EMS configuration. Valid values: `enable`, `disable`.\n"
        },
        "tenantId": {
          "type": "string",
          "description": "EMS Tenant ID.\n"
        },
        "trustCaCn": {
          "type": "string",
          "description": "Enable/disable trust of the EMS certificate issuer(CA) and common name(CN) for certificate auto-renewal. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "verifyingCa": {
          "type": "string",
          "description": "Lowest CA cert on Fortigate in verified EMS cert chain.\n"
        },
        "websocketOverride": {
          "type": "string",
          "description": "Enable/disable override behavior for how this FortiGate unit connects to EMS using a WebSocket connection. Valid values: `disable`, `enable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fctemsoverride resources.\n",
        "properties": {
          "callTimeout": {
            "type": "integer",
            "description": "FortiClient EMS call timeout in seconds (1 - 180 seconds, default = 30).\n"
          },
          "capabilities": {
            "type": "string",
            "description": "List of EMS capabilities.\n"
          },
          "cloudAuthenticationAccessKey": {
            "type": "string",
            "description": "FortiClient EMS Cloud multitenancy access key\n"
          },
          "cloudServerType": {
            "type": "string",
            "description": "Cloud server type. Valid values: `production`, `alpha`, `beta`.\n"
          },
          "dirtyReason": {
            "type": "string",
            "description": "Dirty Reason for FortiClient EMS. Valid values: `none`, `mismatched-ems-sn`.\n"
          },
          "emsId": {
            "type": "integer",
            "description": "EMS ID in order (1 - 7).\n",
            "willReplaceOnChanges": true
          },
          "fortinetoneCloudAuthentication": {
            "type": "string",
            "description": "Enable/disable authentication of FortiClient EMS Cloud through FortiCloud account. Valid values: `enable`, `disable`.\n"
          },
          "httpsPort": {
            "type": "integer",
            "description": "FortiClient EMS HTTPS access port number. (1 - 65535, default: 443).\n"
          },
          "interface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "interfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiClient Enterprise Management Server (EMS) name.\n"
          },
          "outOfSyncThreshold": {
            "type": "integer",
            "description": "Outdated resource threshold in seconds (10 - 3600, default = 180).\n"
          },
          "preserveSslSession": {
            "type": "string",
            "description": "Enable/disable preservation of EMS SSL session connection. Warning, most users should not touch this setting. Valid values: `enable`, `disable`.\n"
          },
          "pullAvatars": {
            "type": "string",
            "description": "Enable/disable pulling avatars from EMS. Valid values: `enable`, `disable`.\n"
          },
          "pullMalwareHash": {
            "type": "string",
            "description": "Enable/disable pulling FortiClient malware hash from EMS. Valid values: `enable`, `disable`.\n"
          },
          "pullSysinfo": {
            "type": "string",
            "description": "Enable/disable pulling SysInfo from EMS. Valid values: `enable`, `disable`.\n"
          },
          "pullTags": {
            "type": "string",
            "description": "Enable/disable pulling FortiClient user tags from EMS. Valid values: `enable`, `disable`.\n"
          },
          "pullVulnerabilities": {
            "type": "string",
            "description": "Enable/disable pulling vulnerabilities from EMS. Valid values: `enable`, `disable`.\n"
          },
          "sendTagsToAllVdoms": {
            "type": "string",
            "description": "Relax restrictions on tags to send all EMS tags to all VDOMs Valid values: `enable`, `disable`.\n"
          },
          "serialNumber": {
            "type": "string",
            "description": "EMS Serial Number.\n"
          },
          "server": {
            "type": "string",
            "description": "FortiClient EMS FQDN or IPv4 address.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "REST API call source IP.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable or disable this EMS configuration. Valid values: `enable`, `disable`.\n"
          },
          "tenantId": {
            "type": "string",
            "description": "EMS Tenant ID.\n"
          },
          "trustCaCn": {
            "type": "string",
            "description": "Enable/disable trust of the EMS certificate issuer(CA) and common name(CN) for certificate auto-renewal. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "verifyingCa": {
            "type": "string",
            "description": "Lowest CA cert on Fortigate in verified EMS cert chain.\n"
          },
          "websocketOverride": {
            "type": "string",
            "description": "Enable/disable override behavior for how this FortiGate unit connects to EMS using a WebSocket connection. Valid values: `disable`, `enable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:endpointcontrol/forticlientems:Forticlientems": {
      "description": "Configure FortiClient Enterprise Management Server (EMS) entries. Applies to FortiOS Version `<= 6.2.0`.\n\n## Import\n\nEndpointControl ForticlientEms can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:endpointcontrol/forticlientems:Forticlientems labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:endpointcontrol/forticlientems:Forticlientems labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "address": {
          "type": "string",
          "description": "Firewall address name.\n"
        },
        "adminPassword": {
          "type": "string",
          "description": "FortiClient EMS admin password.\n",
          "secret": true
        },
        "adminType": {
          "type": "string",
          "description": "FortiClient EMS admin type. Valid values: `Windows`, `LDAP`.\n"
        },
        "adminUsername": {
          "type": "string",
          "description": "FortiClient EMS admin username.\n"
        },
        "httpsPort": {
          "type": "integer",
          "description": "FortiClient EMS HTTPS access port number. (1 - 65535, default: 443).\n"
        },
        "listenPort": {
          "type": "integer",
          "description": "FortiClient EMS telemetry listen port number. (1 - 65535, default: 8013).\n"
        },
        "name": {
          "type": "string",
          "description": "FortiClient Enterprise Management Server (EMS) name.\n"
        },
        "restApiAuth": {
          "type": "string",
          "description": "FortiClient EMS REST API authentication. Valid values: `disable`, `userpass`.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "FortiClient EMS Serial Number.\n"
        },
        "uploadPort": {
          "type": "integer",
          "description": "FortiClient EMS telemetry upload port number. (1 - 65535, default: 8014).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "address",
        "adminType",
        "adminUsername",
        "httpsPort",
        "listenPort",
        "name",
        "restApiAuth",
        "serialNumber",
        "uploadPort",
        "vdomparam"
      ],
      "inputProperties": {
        "address": {
          "type": "string",
          "description": "Firewall address name.\n"
        },
        "adminPassword": {
          "type": "string",
          "description": "FortiClient EMS admin password.\n",
          "secret": true
        },
        "adminType": {
          "type": "string",
          "description": "FortiClient EMS admin type. Valid values: `Windows`, `LDAP`.\n"
        },
        "adminUsername": {
          "type": "string",
          "description": "FortiClient EMS admin username.\n"
        },
        "httpsPort": {
          "type": "integer",
          "description": "FortiClient EMS HTTPS access port number. (1 - 65535, default: 443).\n"
        },
        "listenPort": {
          "type": "integer",
          "description": "FortiClient EMS telemetry listen port number. (1 - 65535, default: 8013).\n"
        },
        "name": {
          "type": "string",
          "description": "FortiClient Enterprise Management Server (EMS) name.\n",
          "willReplaceOnChanges": true
        },
        "restApiAuth": {
          "type": "string",
          "description": "FortiClient EMS REST API authentication. Valid values: `disable`, `userpass`.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "FortiClient EMS Serial Number.\n"
        },
        "uploadPort": {
          "type": "integer",
          "description": "FortiClient EMS telemetry upload port number. (1 - 65535, default: 8014).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "address",
        "adminUsername",
        "serialNumber"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Forticlientems resources.\n",
        "properties": {
          "address": {
            "type": "string",
            "description": "Firewall address name.\n"
          },
          "adminPassword": {
            "type": "string",
            "description": "FortiClient EMS admin password.\n",
            "secret": true
          },
          "adminType": {
            "type": "string",
            "description": "FortiClient EMS admin type. Valid values: `Windows`, `LDAP`.\n"
          },
          "adminUsername": {
            "type": "string",
            "description": "FortiClient EMS admin username.\n"
          },
          "httpsPort": {
            "type": "integer",
            "description": "FortiClient EMS HTTPS access port number. (1 - 65535, default: 443).\n"
          },
          "listenPort": {
            "type": "integer",
            "description": "FortiClient EMS telemetry listen port number. (1 - 65535, default: 8013).\n"
          },
          "name": {
            "type": "string",
            "description": "FortiClient Enterprise Management Server (EMS) name.\n",
            "willReplaceOnChanges": true
          },
          "restApiAuth": {
            "type": "string",
            "description": "FortiClient EMS REST API authentication. Valid values: `disable`, `userpass`.\n"
          },
          "serialNumber": {
            "type": "string",
            "description": "FortiClient EMS Serial Number.\n"
          },
          "uploadPort": {
            "type": "integer",
            "description": "FortiClient EMS telemetry upload port number. (1 - 65535, default: 8014).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:endpointcontrol/forticlientregistrationsync:Forticlientregistrationsync": {
      "description": "Configure FortiClient registration synchronization settings. Applies to FortiOS Version `<= 6.2.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.endpointcontrol.Forticlientregistrationsync(\"trname\", {\n    peerIp: \"1.1.1.1\",\n    peerName: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.endpointcontrol.Forticlientregistrationsync(\"trname\",\n    peer_ip=\"1.1.1.1\",\n    peer_name=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Endpointcontrol.Forticlientregistrationsync(\"trname\", new()\n    {\n        PeerIp = \"1.1.1.1\",\n        PeerName = \"1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/endpointcontrol\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := endpointcontrol.NewForticlientregistrationsync(ctx, \"trname\", &endpointcontrol.ForticlientregistrationsyncArgs{\n\t\t\tPeerIp:   pulumi.String(\"1.1.1.1\"),\n\t\t\tPeerName: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.endpointcontrol.Forticlientregistrationsync;\nimport com.pulumi.fortios.endpointcontrol.ForticlientregistrationsyncArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Forticlientregistrationsync(\"trname\", ForticlientregistrationsyncArgs.builder()\n            .peerIp(\"1.1.1.1\")\n            .peerName(\"1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:endpointcontrol:Forticlientregistrationsync\n    properties:\n      peerIp: 1.1.1.1\n      peerName: '1'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nEndpointControl ForticlientRegistrationSync can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:endpointcontrol/forticlientregistrationsync:Forticlientregistrationsync labelname {{peer_name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:endpointcontrol/forticlientregistrationsync:Forticlientregistrationsync labelname {{peer_name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "peerIp": {
          "type": "string",
          "description": "IP address of the peer FortiGate for endpoint license synchronization.\n"
        },
        "peerName": {
          "type": "string",
          "description": "Peer name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "peerIp",
        "peerName",
        "vdomparam"
      ],
      "inputProperties": {
        "peerIp": {
          "type": "string",
          "description": "IP address of the peer FortiGate for endpoint license synchronization.\n"
        },
        "peerName": {
          "type": "string",
          "description": "Peer name.\n",
          "willReplaceOnChanges": true
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "peerIp"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Forticlientregistrationsync resources.\n",
        "properties": {
          "peerIp": {
            "type": "string",
            "description": "IP address of the peer FortiGate for endpoint license synchronization.\n"
          },
          "peerName": {
            "type": "string",
            "description": "Peer name.\n",
            "willReplaceOnChanges": true
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:endpointcontrol/profile:Profile": {
      "description": "Configure FortiClient endpoint control profiles. Applies to FortiOS Version `<= 6.2.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.endpointcontrol.Profile(\"trname\", {\n    deviceGroups: [{\n        name: \"Mobile Devices\",\n    }],\n    forticlientAndroidSettings: {\n        disableWfWhenProtected: \"enable\",\n        forticlientAdvancedVpn: \"disable\",\n        forticlientVpnProvisioning: \"disable\",\n        forticlientWf: \"disable\",\n    },\n    forticlientIosSettings: {\n        clientVpnProvisioning: \"disable\",\n        disableWfWhenProtected: \"enable\",\n        distributeConfigurationProfile: \"disable\",\n        forticlientWf: \"disable\",\n    },\n    forticlientWinmacSettings: {\n        avRealtimeProtection: \"disable\",\n        avSignatureUpToDate: \"disable\",\n        forticlientApplicationFirewall: \"disable\",\n        forticlientAv: \"disable\",\n        forticlientEmsCompliance: \"disable\",\n        forticlientEmsComplianceAction: \"warning\",\n        forticlientLinuxVer: \"5.4.1\",\n        forticlientLogUpload: \"enable\",\n        forticlientLogUploadLevel: \"traffic vulnerability event\",\n        forticlientMacVer: \"5.4.1\",\n        forticlientMinimumSoftwareVersion: \"disable\",\n        forticlientRegistrationComplianceAction: \"warning\",\n        forticlientSecurityPosture: \"disable\",\n        forticlientSecurityPostureComplianceAction: \"warning\",\n        forticlientSystemCompliance: \"enable\",\n        forticlientSystemComplianceAction: \"warning\",\n        forticlientVulnScan: \"enable\",\n        forticlientVulnScanComplianceAction: \"warning\",\n        forticlientVulnScanEnforce: \"high\",\n        forticlientVulnScanEnforceGrace: 1,\n        forticlientVulnScanExempt: \"disable\",\n        forticlientWf: \"disable\",\n        forticlientWinVer: \"5.4.1\",\n        osAvSoftwareInstalled: \"disable\",\n        sandboxAnalysis: \"disable\",\n    },\n    onNetAddrs: [{\n        name: \"all\",\n    }],\n    profileName: \"1\",\n    users: [{\n        name: \"guest\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.endpointcontrol.Profile(\"trname\",\n    device_groups=[fortios.endpointcontrol.ProfileDeviceGroupArgs(\n        name=\"Mobile Devices\",\n    )],\n    forticlient_android_settings=fortios.endpointcontrol.ProfileForticlientAndroidSettingsArgs(\n        disable_wf_when_protected=\"enable\",\n        forticlient_advanced_vpn=\"disable\",\n        forticlient_vpn_provisioning=\"disable\",\n        forticlient_wf=\"disable\",\n    ),\n    forticlient_ios_settings=fortios.endpointcontrol.ProfileForticlientIosSettingsArgs(\n        client_vpn_provisioning=\"disable\",\n        disable_wf_when_protected=\"enable\",\n        distribute_configuration_profile=\"disable\",\n        forticlient_wf=\"disable\",\n    ),\n    forticlient_winmac_settings=fortios.endpointcontrol.ProfileForticlientWinmacSettingsArgs(\n        av_realtime_protection=\"disable\",\n        av_signature_up_to_date=\"disable\",\n        forticlient_application_firewall=\"disable\",\n        forticlient_av=\"disable\",\n        forticlient_ems_compliance=\"disable\",\n        forticlient_ems_compliance_action=\"warning\",\n        forticlient_linux_ver=\"5.4.1\",\n        forticlient_log_upload=\"enable\",\n        forticlient_log_upload_level=\"traffic vulnerability event\",\n        forticlient_mac_ver=\"5.4.1\",\n        forticlient_minimum_software_version=\"disable\",\n        forticlient_registration_compliance_action=\"warning\",\n        forticlient_security_posture=\"disable\",\n        forticlient_security_posture_compliance_action=\"warning\",\n        forticlient_system_compliance=\"enable\",\n        forticlient_system_compliance_action=\"warning\",\n        forticlient_vuln_scan=\"enable\",\n        forticlient_vuln_scan_compliance_action=\"warning\",\n        forticlient_vuln_scan_enforce=\"high\",\n        forticlient_vuln_scan_enforce_grace=1,\n        forticlient_vuln_scan_exempt=\"disable\",\n        forticlient_wf=\"disable\",\n        forticlient_win_ver=\"5.4.1\",\n        os_av_software_installed=\"disable\",\n        sandbox_analysis=\"disable\",\n    ),\n    on_net_addrs=[fortios.endpointcontrol.ProfileOnNetAddrArgs(\n        name=\"all\",\n    )],\n    profile_name=\"1\",\n    users=[fortios.endpointcontrol.ProfileUserArgs(\n        name=\"guest\",\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Endpointcontrol.Profile(\"trname\", new()\n    {\n        DeviceGroups = new[]\n        {\n            new Fortios.Endpointcontrol.Inputs.ProfileDeviceGroupArgs\n            {\n                Name = \"Mobile Devices\",\n            },\n        },\n        ForticlientAndroidSettings = new Fortios.Endpointcontrol.Inputs.ProfileForticlientAndroidSettingsArgs\n        {\n            DisableWfWhenProtected = \"enable\",\n            ForticlientAdvancedVpn = \"disable\",\n            ForticlientVpnProvisioning = \"disable\",\n            ForticlientWf = \"disable\",\n        },\n        ForticlientIosSettings = new Fortios.Endpointcontrol.Inputs.ProfileForticlientIosSettingsArgs\n        {\n            ClientVpnProvisioning = \"disable\",\n            DisableWfWhenProtected = \"enable\",\n            DistributeConfigurationProfile = \"disable\",\n            ForticlientWf = \"disable\",\n        },\n        ForticlientWinmacSettings = new Fortios.Endpointcontrol.Inputs.ProfileForticlientWinmacSettingsArgs\n        {\n            AvRealtimeProtection = \"disable\",\n            AvSignatureUpToDate = \"disable\",\n            ForticlientApplicationFirewall = \"disable\",\n            ForticlientAv = \"disable\",\n            ForticlientEmsCompliance = \"disable\",\n            ForticlientEmsComplianceAction = \"warning\",\n            ForticlientLinuxVer = \"5.4.1\",\n            ForticlientLogUpload = \"enable\",\n            ForticlientLogUploadLevel = \"traffic vulnerability event\",\n            ForticlientMacVer = \"5.4.1\",\n            ForticlientMinimumSoftwareVersion = \"disable\",\n            ForticlientRegistrationComplianceAction = \"warning\",\n            ForticlientSecurityPosture = \"disable\",\n            ForticlientSecurityPostureComplianceAction = \"warning\",\n            ForticlientSystemCompliance = \"enable\",\n            ForticlientSystemComplianceAction = \"warning\",\n            ForticlientVulnScan = \"enable\",\n            ForticlientVulnScanComplianceAction = \"warning\",\n            ForticlientVulnScanEnforce = \"high\",\n            ForticlientVulnScanEnforceGrace = 1,\n            ForticlientVulnScanExempt = \"disable\",\n            ForticlientWf = \"disable\",\n            ForticlientWinVer = \"5.4.1\",\n            OsAvSoftwareInstalled = \"disable\",\n            SandboxAnalysis = \"disable\",\n        },\n        OnNetAddrs = new[]\n        {\n            new Fortios.Endpointcontrol.Inputs.ProfileOnNetAddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        ProfileName = \"1\",\n        Users = new[]\n        {\n            new Fortios.Endpointcontrol.Inputs.ProfileUserArgs\n            {\n                Name = \"guest\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/endpointcontrol\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := endpointcontrol.NewProfile(ctx, \"trname\", &endpointcontrol.ProfileArgs{\n\t\t\tDeviceGroups: endpointcontrol.ProfileDeviceGroupArray{\n\t\t\t\t&endpointcontrol.ProfileDeviceGroupArgs{\n\t\t\t\t\tName: pulumi.String(\"Mobile Devices\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tForticlientAndroidSettings: &endpointcontrol.ProfileForticlientAndroidSettingsArgs{\n\t\t\t\tDisableWfWhenProtected:     pulumi.String(\"enable\"),\n\t\t\t\tForticlientAdvancedVpn:     pulumi.String(\"disable\"),\n\t\t\t\tForticlientVpnProvisioning: pulumi.String(\"disable\"),\n\t\t\t\tForticlientWf:              pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tForticlientIosSettings: &endpointcontrol.ProfileForticlientIosSettingsArgs{\n\t\t\t\tClientVpnProvisioning:          pulumi.String(\"disable\"),\n\t\t\t\tDisableWfWhenProtected:         pulumi.String(\"enable\"),\n\t\t\t\tDistributeConfigurationProfile: pulumi.String(\"disable\"),\n\t\t\t\tForticlientWf:                  pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tForticlientWinmacSettings: &endpointcontrol.ProfileForticlientWinmacSettingsArgs{\n\t\t\t\tAvRealtimeProtection:                       pulumi.String(\"disable\"),\n\t\t\t\tAvSignatureUpToDate:                        pulumi.String(\"disable\"),\n\t\t\t\tForticlientApplicationFirewall:             pulumi.String(\"disable\"),\n\t\t\t\tForticlientAv:                              pulumi.String(\"disable\"),\n\t\t\t\tForticlientEmsCompliance:                   pulumi.String(\"disable\"),\n\t\t\t\tForticlientEmsComplianceAction:             pulumi.String(\"warning\"),\n\t\t\t\tForticlientLinuxVer:                        pulumi.String(\"5.4.1\"),\n\t\t\t\tForticlientLogUpload:                       pulumi.String(\"enable\"),\n\t\t\t\tForticlientLogUploadLevel:                  pulumi.String(\"traffic vulnerability event\"),\n\t\t\t\tForticlientMacVer:                          pulumi.String(\"5.4.1\"),\n\t\t\t\tForticlientMinimumSoftwareVersion:          pulumi.String(\"disable\"),\n\t\t\t\tForticlientRegistrationComplianceAction:    pulumi.String(\"warning\"),\n\t\t\t\tForticlientSecurityPosture:                 pulumi.String(\"disable\"),\n\t\t\t\tForticlientSecurityPostureComplianceAction: pulumi.String(\"warning\"),\n\t\t\t\tForticlientSystemCompliance:                pulumi.String(\"enable\"),\n\t\t\t\tForticlientSystemComplianceAction:          pulumi.String(\"warning\"),\n\t\t\t\tForticlientVulnScan:                        pulumi.String(\"enable\"),\n\t\t\t\tForticlientVulnScanComplianceAction:        pulumi.String(\"warning\"),\n\t\t\t\tForticlientVulnScanEnforce:                 pulumi.String(\"high\"),\n\t\t\t\tForticlientVulnScanEnforceGrace:            pulumi.Int(1),\n\t\t\t\tForticlientVulnScanExempt:                  pulumi.String(\"disable\"),\n\t\t\t\tForticlientWf:                              pulumi.String(\"disable\"),\n\t\t\t\tForticlientWinVer:                          pulumi.String(\"5.4.1\"),\n\t\t\t\tOsAvSoftwareInstalled:                      pulumi.String(\"disable\"),\n\t\t\t\tSandboxAnalysis:                            pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tOnNetAddrs: endpointcontrol.ProfileOnNetAddrArray{\n\t\t\t\t&endpointcontrol.ProfileOnNetAddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProfileName: pulumi.String(\"1\"),\n\t\t\tUsers: endpointcontrol.ProfileUserArray{\n\t\t\t\t&endpointcontrol.ProfileUserArgs{\n\t\t\t\t\tName: pulumi.String(\"guest\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.endpointcontrol.Profile;\nimport com.pulumi.fortios.endpointcontrol.ProfileArgs;\nimport com.pulumi.fortios.endpointcontrol.inputs.ProfileDeviceGroupArgs;\nimport com.pulumi.fortios.endpointcontrol.inputs.ProfileForticlientAndroidSettingsArgs;\nimport com.pulumi.fortios.endpointcontrol.inputs.ProfileForticlientIosSettingsArgs;\nimport com.pulumi.fortios.endpointcontrol.inputs.ProfileForticlientWinmacSettingsArgs;\nimport com.pulumi.fortios.endpointcontrol.inputs.ProfileOnNetAddrArgs;\nimport com.pulumi.fortios.endpointcontrol.inputs.ProfileUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Profile(\"trname\", ProfileArgs.builder()\n            .deviceGroups(ProfileDeviceGroupArgs.builder()\n                .name(\"Mobile Devices\")\n                .build())\n            .forticlientAndroidSettings(ProfileForticlientAndroidSettingsArgs.builder()\n                .disableWfWhenProtected(\"enable\")\n                .forticlientAdvancedVpn(\"disable\")\n                .forticlientVpnProvisioning(\"disable\")\n                .forticlientWf(\"disable\")\n                .build())\n            .forticlientIosSettings(ProfileForticlientIosSettingsArgs.builder()\n                .clientVpnProvisioning(\"disable\")\n                .disableWfWhenProtected(\"enable\")\n                .distributeConfigurationProfile(\"disable\")\n                .forticlientWf(\"disable\")\n                .build())\n            .forticlientWinmacSettings(ProfileForticlientWinmacSettingsArgs.builder()\n                .avRealtimeProtection(\"disable\")\n                .avSignatureUpToDate(\"disable\")\n                .forticlientApplicationFirewall(\"disable\")\n                .forticlientAv(\"disable\")\n                .forticlientEmsCompliance(\"disable\")\n                .forticlientEmsComplianceAction(\"warning\")\n                .forticlientLinuxVer(\"5.4.1\")\n                .forticlientLogUpload(\"enable\")\n                .forticlientLogUploadLevel(\"traffic vulnerability event\")\n                .forticlientMacVer(\"5.4.1\")\n                .forticlientMinimumSoftwareVersion(\"disable\")\n                .forticlientRegistrationComplianceAction(\"warning\")\n                .forticlientSecurityPosture(\"disable\")\n                .forticlientSecurityPostureComplianceAction(\"warning\")\n                .forticlientSystemCompliance(\"enable\")\n                .forticlientSystemComplianceAction(\"warning\")\n                .forticlientVulnScan(\"enable\")\n                .forticlientVulnScanComplianceAction(\"warning\")\n                .forticlientVulnScanEnforce(\"high\")\n                .forticlientVulnScanEnforceGrace(1)\n                .forticlientVulnScanExempt(\"disable\")\n                .forticlientWf(\"disable\")\n                .forticlientWinVer(\"5.4.1\")\n                .osAvSoftwareInstalled(\"disable\")\n                .sandboxAnalysis(\"disable\")\n                .build())\n            .onNetAddrs(ProfileOnNetAddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .profileName(\"1\")\n            .users(ProfileUserArgs.builder()\n                .name(\"guest\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:endpointcontrol:Profile\n    properties:\n      deviceGroups:\n        - name: Mobile Devices\n      forticlientAndroidSettings:\n        disableWfWhenProtected: enable\n        forticlientAdvancedVpn: disable\n        forticlientVpnProvisioning: disable\n        forticlientWf: disable\n      forticlientIosSettings:\n        clientVpnProvisioning: disable\n        disableWfWhenProtected: enable\n        distributeConfigurationProfile: disable\n        forticlientWf: disable\n      forticlientWinmacSettings:\n        avRealtimeProtection: disable\n        avSignatureUpToDate: disable\n        forticlientApplicationFirewall: disable\n        forticlientAv: disable\n        forticlientEmsCompliance: disable\n        forticlientEmsComplianceAction: warning\n        forticlientLinuxVer: 5.4.1\n        forticlientLogUpload: enable\n        forticlientLogUploadLevel: traffic vulnerability event\n        forticlientMacVer: 5.4.1\n        forticlientMinimumSoftwareVersion: disable\n        forticlientRegistrationComplianceAction: warning\n        forticlientSecurityPosture: disable\n        forticlientSecurityPostureComplianceAction: warning\n        forticlientSystemCompliance: enable\n        forticlientSystemComplianceAction: warning\n        forticlientVulnScan: enable\n        forticlientVulnScanComplianceAction: warning\n        forticlientVulnScanEnforce: high\n        forticlientVulnScanEnforceGrace: 1\n        forticlientVulnScanExempt: disable\n        forticlientWf: disable\n        forticlientWinVer: 5.4.1\n        osAvSoftwareInstalled: disable\n        sandboxAnalysis: disable\n      onNetAddrs:\n        - name: all\n      profileName: '1'\n      users:\n        - name: guest\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nEndpointControl Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:endpointcontrol/profile:Profile labelname {{profile_name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:endpointcontrol/profile:Profile labelname {{profile_name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileDeviceGroup:ProfileDeviceGroup"
          },
          "description": "Device groups. The structure of `device_groups` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "forticlientAndroidSettings": {
          "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientAndroidSettings:ProfileForticlientAndroidSettings",
          "description": "FortiClient settings for Android platform. The structure of `forticlient_android_settings` block is documented below.\n"
        },
        "forticlientIosSettings": {
          "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientIosSettings:ProfileForticlientIosSettings",
          "description": "FortiClient settings for iOS platform. The structure of `forticlient_ios_settings` block is documented below.\n"
        },
        "forticlientWinmacSettings": {
          "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientWinmacSettings:ProfileForticlientWinmacSettings",
          "description": "FortiClient settings for Windows/Mac platform. The structure of `forticlient_winmac_settings` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "onNetAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileOnNetAddr:ProfileOnNetAddr"
          },
          "description": "Addresses for on-net detection. The structure of `on_net_addr` block is documented below.\n"
        },
        "profileName": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "replacemsgOverrideGroup": {
          "type": "string",
          "description": "Select an endpoint control replacement message override group from available options.\n"
        },
        "srcAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileSrcAddr:ProfileSrcAddr"
          },
          "description": "Source addresses. The structure of `src_addr` block is documented below.\n"
        },
        "userGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileUserGroup:ProfileUserGroup"
          },
          "description": "User groups. The structure of `user_groups` block is documented below.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileUser:ProfileUser"
          },
          "description": "Users. The structure of `users` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "forticlientAndroidSettings",
        "forticlientIosSettings",
        "forticlientWinmacSettings",
        "profileName",
        "replacemsgOverrideGroup",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileDeviceGroup:ProfileDeviceGroup"
          },
          "description": "Device groups. The structure of `device_groups` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "forticlientAndroidSettings": {
          "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientAndroidSettings:ProfileForticlientAndroidSettings",
          "description": "FortiClient settings for Android platform. The structure of `forticlient_android_settings` block is documented below.\n"
        },
        "forticlientIosSettings": {
          "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientIosSettings:ProfileForticlientIosSettings",
          "description": "FortiClient settings for iOS platform. The structure of `forticlient_ios_settings` block is documented below.\n"
        },
        "forticlientWinmacSettings": {
          "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientWinmacSettings:ProfileForticlientWinmacSettings",
          "description": "FortiClient settings for Windows/Mac platform. The structure of `forticlient_winmac_settings` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "onNetAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileOnNetAddr:ProfileOnNetAddr"
          },
          "description": "Addresses for on-net detection. The structure of `on_net_addr` block is documented below.\n"
        },
        "profileName": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "replacemsgOverrideGroup": {
          "type": "string",
          "description": "Select an endpoint control replacement message override group from available options.\n"
        },
        "srcAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileSrcAddr:ProfileSrcAddr"
          },
          "description": "Source addresses. The structure of `src_addr` block is documented below.\n"
        },
        "userGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileUserGroup:ProfileUserGroup"
          },
          "description": "User groups. The structure of `user_groups` block is documented below.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileUser:ProfileUser"
          },
          "description": "Users. The structure of `users` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "deviceGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:endpointcontrol%2FProfileDeviceGroup:ProfileDeviceGroup"
            },
            "description": "Device groups. The structure of `device_groups` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "forticlientAndroidSettings": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientAndroidSettings:ProfileForticlientAndroidSettings",
            "description": "FortiClient settings for Android platform. The structure of `forticlient_android_settings` block is documented below.\n"
          },
          "forticlientIosSettings": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientIosSettings:ProfileForticlientIosSettings",
            "description": "FortiClient settings for iOS platform. The structure of `forticlient_ios_settings` block is documented below.\n"
          },
          "forticlientWinmacSettings": {
            "$ref": "#/types/fortios:endpointcontrol%2FProfileForticlientWinmacSettings:ProfileForticlientWinmacSettings",
            "description": "FortiClient settings for Windows/Mac platform. The structure of `forticlient_winmac_settings` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "onNetAddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:endpointcontrol%2FProfileOnNetAddr:ProfileOnNetAddr"
            },
            "description": "Addresses for on-net detection. The structure of `on_net_addr` block is documented below.\n"
          },
          "profileName": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "replacemsgOverrideGroup": {
            "type": "string",
            "description": "Select an endpoint control replacement message override group from available options.\n"
          },
          "srcAddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:endpointcontrol%2FProfileSrcAddr:ProfileSrcAddr"
            },
            "description": "Source addresses. The structure of `src_addr` block is documented below.\n"
          },
          "userGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:endpointcontrol%2FProfileUserGroup:ProfileUserGroup"
            },
            "description": "User groups. The structure of `user_groups` block is documented below.\n"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:endpointcontrol%2FProfileUser:ProfileUser"
            },
            "description": "Users. The structure of `users` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:endpointcontrol/registeredforticlient:Registeredforticlient": {
      "description": "Registered FortiClient list. Applies to FortiOS Version `<= 6.2.0`.\n\n## Import\n\nEndpointControl RegisteredForticlient can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:endpointcontrol/registeredforticlient:Registeredforticlient labelname {{uid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:endpointcontrol/registeredforticlient:Registeredforticlient labelname {{uid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "flag": {
          "type": "integer",
          "description": "FortiClient registration flag.\n"
        },
        "ip": {
          "type": "string",
          "description": "Endpoint IP address.\n"
        },
        "mac": {
          "type": "string",
          "description": "Endpoint MAC address.\n"
        },
        "regFortigate": {
          "type": "string",
          "description": "Registering FortiGate SN.\n"
        },
        "status": {
          "type": "integer",
          "description": "FortiClient registration status.\n"
        },
        "uid": {
          "type": "string",
          "description": "FortiClient UID.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Registering vdom.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "flag",
        "ip",
        "mac",
        "regFortigate",
        "status",
        "uid",
        "vdom",
        "vdomparam"
      ],
      "inputProperties": {
        "flag": {
          "type": "integer",
          "description": "FortiClient registration flag.\n"
        },
        "ip": {
          "type": "string",
          "description": "Endpoint IP address.\n"
        },
        "mac": {
          "type": "string",
          "description": "Endpoint MAC address.\n"
        },
        "regFortigate": {
          "type": "string",
          "description": "Registering FortiGate SN.\n"
        },
        "status": {
          "type": "integer",
          "description": "FortiClient registration status.\n"
        },
        "uid": {
          "type": "string",
          "description": "FortiClient UID.\n",
          "willReplaceOnChanges": true
        },
        "vdom": {
          "type": "string",
          "description": "Registering vdom.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Registeredforticlient resources.\n",
        "properties": {
          "flag": {
            "type": "integer",
            "description": "FortiClient registration flag.\n"
          },
          "ip": {
            "type": "string",
            "description": "Endpoint IP address.\n"
          },
          "mac": {
            "type": "string",
            "description": "Endpoint MAC address.\n"
          },
          "regFortigate": {
            "type": "string",
            "description": "Registering FortiGate SN.\n"
          },
          "status": {
            "type": "integer",
            "description": "FortiClient registration status.\n"
          },
          "uid": {
            "type": "string",
            "description": "FortiClient UID.\n",
            "willReplaceOnChanges": true
          },
          "vdom": {
            "type": "string",
            "description": "Registering vdom.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:endpointcontrol/settings:Settings": {
      "description": "Configure endpoint control settings. Applies to FortiOS Version `6.2.0,6.2.4,6.2.6,7.4.0,7.4.1,7.4.2,7.4.3,7.4.4`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.endpointcontrol.Settings(\"trname\", {\n    downloadLocation: \"fortiguard\",\n    forticlientAvdbUpdateInterval: 8,\n    forticlientDeregUnsupportedClient: \"enable\",\n    forticlientEmsRestApiCallTimeout: 5000,\n    forticlientKeepaliveInterval: 60,\n    forticlientOfflineGrace: \"disable\",\n    forticlientOfflineGraceInterval: 120,\n    forticlientRegKeyEnforce: \"disable\",\n    forticlientRegTimeout: 7,\n    forticlientSysUpdateInterval: 720,\n    forticlientUserAvatar: \"enable\",\n    forticlientWarningInterval: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.endpointcontrol.Settings(\"trname\",\n    download_location=\"fortiguard\",\n    forticlient_avdb_update_interval=8,\n    forticlient_dereg_unsupported_client=\"enable\",\n    forticlient_ems_rest_api_call_timeout=5000,\n    forticlient_keepalive_interval=60,\n    forticlient_offline_grace=\"disable\",\n    forticlient_offline_grace_interval=120,\n    forticlient_reg_key_enforce=\"disable\",\n    forticlient_reg_timeout=7,\n    forticlient_sys_update_interval=720,\n    forticlient_user_avatar=\"enable\",\n    forticlient_warning_interval=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Endpointcontrol.Settings(\"trname\", new()\n    {\n        DownloadLocation = \"fortiguard\",\n        ForticlientAvdbUpdateInterval = 8,\n        ForticlientDeregUnsupportedClient = \"enable\",\n        ForticlientEmsRestApiCallTimeout = 5000,\n        ForticlientKeepaliveInterval = 60,\n        ForticlientOfflineGrace = \"disable\",\n        ForticlientOfflineGraceInterval = 120,\n        ForticlientRegKeyEnforce = \"disable\",\n        ForticlientRegTimeout = 7,\n        ForticlientSysUpdateInterval = 720,\n        ForticlientUserAvatar = \"enable\",\n        ForticlientWarningInterval = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/endpointcontrol\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := endpointcontrol.NewSettings(ctx, \"trname\", &endpointcontrol.SettingsArgs{\n\t\t\tDownloadLocation:                  pulumi.String(\"fortiguard\"),\n\t\t\tForticlientAvdbUpdateInterval:     pulumi.Int(8),\n\t\t\tForticlientDeregUnsupportedClient: pulumi.String(\"enable\"),\n\t\t\tForticlientEmsRestApiCallTimeout:  pulumi.Int(5000),\n\t\t\tForticlientKeepaliveInterval:      pulumi.Int(60),\n\t\t\tForticlientOfflineGrace:           pulumi.String(\"disable\"),\n\t\t\tForticlientOfflineGraceInterval:   pulumi.Int(120),\n\t\t\tForticlientRegKeyEnforce:          pulumi.String(\"disable\"),\n\t\t\tForticlientRegTimeout:             pulumi.Int(7),\n\t\t\tForticlientSysUpdateInterval:      pulumi.Int(720),\n\t\t\tForticlientUserAvatar:             pulumi.String(\"enable\"),\n\t\t\tForticlientWarningInterval:        pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.endpointcontrol.Settings;\nimport com.pulumi.fortios.endpointcontrol.SettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Settings(\"trname\", SettingsArgs.builder()\n            .downloadLocation(\"fortiguard\")\n            .forticlientAvdbUpdateInterval(8)\n            .forticlientDeregUnsupportedClient(\"enable\")\n            .forticlientEmsRestApiCallTimeout(5000)\n            .forticlientKeepaliveInterval(60)\n            .forticlientOfflineGrace(\"disable\")\n            .forticlientOfflineGraceInterval(120)\n            .forticlientRegKeyEnforce(\"disable\")\n            .forticlientRegTimeout(7)\n            .forticlientSysUpdateInterval(720)\n            .forticlientUserAvatar(\"enable\")\n            .forticlientWarningInterval(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:endpointcontrol:Settings\n    properties:\n      downloadLocation: fortiguard\n      forticlientAvdbUpdateInterval: 8\n      forticlientDeregUnsupportedClient: enable\n      forticlientEmsRestApiCallTimeout: 5000\n      forticlientKeepaliveInterval: 60\n      forticlientOfflineGrace: disable\n      forticlientOfflineGraceInterval: 120\n      forticlientRegKeyEnforce: disable\n      forticlientRegTimeout: 7\n      forticlientSysUpdateInterval: 720\n      forticlientUserAvatar: enable\n      forticlientWarningInterval: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nEndpointControl Settings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:endpointcontrol/settings:Settings labelname EndpointControlSettings\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:endpointcontrol/settings:Settings labelname EndpointControlSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "downloadCustomLink": {
          "type": "string",
          "description": "Customized URL for downloading FortiClient.\n"
        },
        "downloadLocation": {
          "type": "string",
          "description": "FortiClient download location (FortiGuard or custom). Valid values: `fortiguard`, `custom`.\n"
        },
        "forticlientAvdbUpdateInterval": {
          "type": "integer",
          "description": "Period of time between FortiClient AntiVirus database updates (0 - 24 hours, default = 8).\n"
        },
        "forticlientDeregUnsupportedClient": {
          "type": "string",
          "description": "Enable/disable deregistering unsupported FortiClient endpoints. Valid values: `enable`, `disable`.\n"
        },
        "forticlientDisconnectUnsupportedClient": {
          "type": "string",
          "description": "Enable/disable disconnecting of unsupported FortiClient endpoints. Valid values: `enable`, `disable`.\n"
        },
        "forticlientEmsRestApiCallTimeout": {
          "type": "integer",
          "description": "FortiClient EMS call timeout in milliseconds (500 - 30000 milliseconds, default = 5000).\n"
        },
        "forticlientKeepaliveInterval": {
          "type": "integer",
          "description": "Interval between two KeepAlive messages from FortiClient (20 - 300 sec, default = 60).\n"
        },
        "forticlientOfflineGrace": {
          "type": "string",
          "description": "Enable/disable grace period for offline registered clients. Valid values: `enable`, `disable`.\n"
        },
        "forticlientOfflineGraceInterval": {
          "type": "integer",
          "description": "Grace period for offline registered FortiClient (60 - 600 sec, default = 120).\n"
        },
        "forticlientRegKey": {
          "type": "string",
          "description": "FortiClient registration key.\n",
          "secret": true
        },
        "forticlientRegKeyEnforce": {
          "type": "string",
          "description": "Enable/disable requiring or enforcing FortiClient registration keys. Valid values: `enable`, `disable`.\n"
        },
        "forticlientRegTimeout": {
          "type": "integer",
          "description": "FortiClient registration license timeout (days, min = 1, max = 180, 0 means unlimited).\n"
        },
        "forticlientSysUpdateInterval": {
          "type": "integer",
          "description": "Interval between two system update messages from FortiClient (30 - 1440 min, default = 720).\n"
        },
        "forticlientUserAvatar": {
          "type": "string",
          "description": "Enable/disable uploading FortiClient user avatars. Valid values: `enable`, `disable`.\n"
        },
        "forticlientWarningInterval": {
          "type": "integer",
          "description": "Period of time between FortiClient portal warnings (0 - 24 hours, default = 1).\n"
        },
        "override": {
          "type": "string",
          "description": "Override global EMS table for this VDOM. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "downloadCustomLink",
        "downloadLocation",
        "forticlientAvdbUpdateInterval",
        "forticlientDeregUnsupportedClient",
        "forticlientDisconnectUnsupportedClient",
        "forticlientEmsRestApiCallTimeout",
        "forticlientKeepaliveInterval",
        "forticlientOfflineGrace",
        "forticlientOfflineGraceInterval",
        "forticlientRegKeyEnforce",
        "forticlientRegTimeout",
        "forticlientSysUpdateInterval",
        "forticlientUserAvatar",
        "forticlientWarningInterval",
        "override",
        "vdomparam"
      ],
      "inputProperties": {
        "downloadCustomLink": {
          "type": "string",
          "description": "Customized URL for downloading FortiClient.\n"
        },
        "downloadLocation": {
          "type": "string",
          "description": "FortiClient download location (FortiGuard or custom). Valid values: `fortiguard`, `custom`.\n"
        },
        "forticlientAvdbUpdateInterval": {
          "type": "integer",
          "description": "Period of time between FortiClient AntiVirus database updates (0 - 24 hours, default = 8).\n"
        },
        "forticlientDeregUnsupportedClient": {
          "type": "string",
          "description": "Enable/disable deregistering unsupported FortiClient endpoints. Valid values: `enable`, `disable`.\n"
        },
        "forticlientDisconnectUnsupportedClient": {
          "type": "string",
          "description": "Enable/disable disconnecting of unsupported FortiClient endpoints. Valid values: `enable`, `disable`.\n"
        },
        "forticlientEmsRestApiCallTimeout": {
          "type": "integer",
          "description": "FortiClient EMS call timeout in milliseconds (500 - 30000 milliseconds, default = 5000).\n"
        },
        "forticlientKeepaliveInterval": {
          "type": "integer",
          "description": "Interval between two KeepAlive messages from FortiClient (20 - 300 sec, default = 60).\n"
        },
        "forticlientOfflineGrace": {
          "type": "string",
          "description": "Enable/disable grace period for offline registered clients. Valid values: `enable`, `disable`.\n"
        },
        "forticlientOfflineGraceInterval": {
          "type": "integer",
          "description": "Grace period for offline registered FortiClient (60 - 600 sec, default = 120).\n"
        },
        "forticlientRegKey": {
          "type": "string",
          "description": "FortiClient registration key.\n",
          "secret": true
        },
        "forticlientRegKeyEnforce": {
          "type": "string",
          "description": "Enable/disable requiring or enforcing FortiClient registration keys. Valid values: `enable`, `disable`.\n"
        },
        "forticlientRegTimeout": {
          "type": "integer",
          "description": "FortiClient registration license timeout (days, min = 1, max = 180, 0 means unlimited).\n"
        },
        "forticlientSysUpdateInterval": {
          "type": "integer",
          "description": "Interval between two system update messages from FortiClient (30 - 1440 min, default = 720).\n"
        },
        "forticlientUserAvatar": {
          "type": "string",
          "description": "Enable/disable uploading FortiClient user avatars. Valid values: `enable`, `disable`.\n"
        },
        "forticlientWarningInterval": {
          "type": "integer",
          "description": "Period of time between FortiClient portal warnings (0 - 24 hours, default = 1).\n"
        },
        "override": {
          "type": "string",
          "description": "Override global EMS table for this VDOM. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Settings resources.\n",
        "properties": {
          "downloadCustomLink": {
            "type": "string",
            "description": "Customized URL for downloading FortiClient.\n"
          },
          "downloadLocation": {
            "type": "string",
            "description": "FortiClient download location (FortiGuard or custom). Valid values: `fortiguard`, `custom`.\n"
          },
          "forticlientAvdbUpdateInterval": {
            "type": "integer",
            "description": "Period of time between FortiClient AntiVirus database updates (0 - 24 hours, default = 8).\n"
          },
          "forticlientDeregUnsupportedClient": {
            "type": "string",
            "description": "Enable/disable deregistering unsupported FortiClient endpoints. Valid values: `enable`, `disable`.\n"
          },
          "forticlientDisconnectUnsupportedClient": {
            "type": "string",
            "description": "Enable/disable disconnecting of unsupported FortiClient endpoints. Valid values: `enable`, `disable`.\n"
          },
          "forticlientEmsRestApiCallTimeout": {
            "type": "integer",
            "description": "FortiClient EMS call timeout in milliseconds (500 - 30000 milliseconds, default = 5000).\n"
          },
          "forticlientKeepaliveInterval": {
            "type": "integer",
            "description": "Interval between two KeepAlive messages from FortiClient (20 - 300 sec, default = 60).\n"
          },
          "forticlientOfflineGrace": {
            "type": "string",
            "description": "Enable/disable grace period for offline registered clients. Valid values: `enable`, `disable`.\n"
          },
          "forticlientOfflineGraceInterval": {
            "type": "integer",
            "description": "Grace period for offline registered FortiClient (60 - 600 sec, default = 120).\n"
          },
          "forticlientRegKey": {
            "type": "string",
            "description": "FortiClient registration key.\n",
            "secret": true
          },
          "forticlientRegKeyEnforce": {
            "type": "string",
            "description": "Enable/disable requiring or enforcing FortiClient registration keys. Valid values: `enable`, `disable`.\n"
          },
          "forticlientRegTimeout": {
            "type": "integer",
            "description": "FortiClient registration license timeout (days, min = 1, max = 180, 0 means unlimited).\n"
          },
          "forticlientSysUpdateInterval": {
            "type": "integer",
            "description": "Interval between two system update messages from FortiClient (30 - 1440 min, default = 720).\n"
          },
          "forticlientUserAvatar": {
            "type": "string",
            "description": "Enable/disable uploading FortiClient user avatars. Valid values: `enable`, `disable`.\n"
          },
          "forticlientWarningInterval": {
            "type": "integer",
            "description": "Period of time between FortiClient portal warnings (0 - 24 hours, default = 1).\n"
          },
          "override": {
            "type": "string",
            "description": "Override global EMS table for this VDOM. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:extendercontroller/dataplan:Dataplan": {
      "description": "FortiExtender dataplan configuration. Applies to FortiOS Version `6.4.2,6.4.10,6.4.11,6.4.12,6.4.13,6.4.14,6.4.15,7.0.0,7.0.1,7.0.2,7.0.3,7.0.4,7.0.5,7.0.6,7.0.7,7.0.8,7.0.9,7.0.10,7.0.11,7.0.12,7.0.13,7.0.14,7.0.15,7.2.0`.\n\n## Import\n\nExtenderController Dataplan can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:extendercontroller/dataplan:Dataplan labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:extendercontroller/dataplan:Dataplan labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "apn": {
          "type": "string",
          "description": "APN configuration.\n"
        },
        "authType": {
          "type": "string",
          "description": "Authentication type. Valid values: `none`, `pap`, `chap`.\n"
        },
        "billingDate": {
          "type": "integer",
          "description": "Billing day of the month (1 - 31).\n"
        },
        "capacity": {
          "type": "integer",
          "description": "Capacity in MB (0 - 102400000).\n"
        },
        "carrier": {
          "type": "string",
          "description": "Carrier configuration.\n"
        },
        "iccid": {
          "type": "string",
          "description": "ICCID configuration.\n"
        },
        "modemId": {
          "type": "string",
          "description": "Dataplan's modem specifics, if any. Valid values: `modem1`, `modem2`, `all`.\n"
        },
        "monthlyFee": {
          "type": "integer",
          "description": "Monthly fee of dataplan (0 - 100000, in local currency).\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender dataplan name\n"
        },
        "overage": {
          "type": "string",
          "description": "Enable/disable dataplan overage detection. Valid values: `disable`, `enable`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password.\n",
          "secret": true
        },
        "pdn": {
          "type": "string",
          "description": "PDN type. Valid values: `ipv4-only`, `ipv6-only`, `ipv4-ipv6`.\n"
        },
        "preferredSubnet": {
          "type": "integer",
          "description": "Preferred subnet mask. On FortiOS versions 6.4.2-7.0.1: 8 - 32. On FortiOS versions 7.0.2-7.2.0: 0 - 32.\n"
        },
        "privateNetwork": {
          "type": "string",
          "description": "Enable/disable dataplan private network support. Valid values: `disable`, `enable`.\n"
        },
        "signalPeriod": {
          "type": "integer",
          "description": "Signal period (600 to 18000 seconds).\n"
        },
        "signalThreshold": {
          "type": "integer",
          "description": "Signal threshold. Specify the range between 50 - 100, where 50/100 means -50/-100 dBm.\n"
        },
        "slot": {
          "type": "string",
          "description": "SIM slot configuration. Valid values: `sim1`, `sim2`.\n"
        },
        "type": {
          "type": "string",
          "description": "Type preferences configuration. Valid values: `carrier`, `slot`, `iccid`, `generic`.\n"
        },
        "username": {
          "type": "string",
          "description": "Username.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "apn",
        "authType",
        "billingDate",
        "capacity",
        "carrier",
        "iccid",
        "modemId",
        "monthlyFee",
        "name",
        "overage",
        "pdn",
        "preferredSubnet",
        "privateNetwork",
        "signalPeriod",
        "signalThreshold",
        "slot",
        "type",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "apn": {
          "type": "string",
          "description": "APN configuration.\n"
        },
        "authType": {
          "type": "string",
          "description": "Authentication type. Valid values: `none`, `pap`, `chap`.\n"
        },
        "billingDate": {
          "type": "integer",
          "description": "Billing day of the month (1 - 31).\n"
        },
        "capacity": {
          "type": "integer",
          "description": "Capacity in MB (0 - 102400000).\n"
        },
        "carrier": {
          "type": "string",
          "description": "Carrier configuration.\n"
        },
        "iccid": {
          "type": "string",
          "description": "ICCID configuration.\n"
        },
        "modemId": {
          "type": "string",
          "description": "Dataplan's modem specifics, if any. Valid values: `modem1`, `modem2`, `all`.\n"
        },
        "monthlyFee": {
          "type": "integer",
          "description": "Monthly fee of dataplan (0 - 100000, in local currency).\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender dataplan name\n",
          "willReplaceOnChanges": true
        },
        "overage": {
          "type": "string",
          "description": "Enable/disable dataplan overage detection. Valid values: `disable`, `enable`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password.\n",
          "secret": true
        },
        "pdn": {
          "type": "string",
          "description": "PDN type. Valid values: `ipv4-only`, `ipv6-only`, `ipv4-ipv6`.\n"
        },
        "preferredSubnet": {
          "type": "integer",
          "description": "Preferred subnet mask. On FortiOS versions 6.4.2-7.0.1: 8 - 32. On FortiOS versions 7.0.2-7.2.0: 0 - 32.\n"
        },
        "privateNetwork": {
          "type": "string",
          "description": "Enable/disable dataplan private network support. Valid values: `disable`, `enable`.\n"
        },
        "signalPeriod": {
          "type": "integer",
          "description": "Signal period (600 to 18000 seconds).\n"
        },
        "signalThreshold": {
          "type": "integer",
          "description": "Signal threshold. Specify the range between 50 - 100, where 50/100 means -50/-100 dBm.\n"
        },
        "slot": {
          "type": "string",
          "description": "SIM slot configuration. Valid values: `sim1`, `sim2`.\n"
        },
        "type": {
          "type": "string",
          "description": "Type preferences configuration. Valid values: `carrier`, `slot`, `iccid`, `generic`.\n"
        },
        "username": {
          "type": "string",
          "description": "Username.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Dataplan resources.\n",
        "properties": {
          "apn": {
            "type": "string",
            "description": "APN configuration.\n"
          },
          "authType": {
            "type": "string",
            "description": "Authentication type. Valid values: `none`, `pap`, `chap`.\n"
          },
          "billingDate": {
            "type": "integer",
            "description": "Billing day of the month (1 - 31).\n"
          },
          "capacity": {
            "type": "integer",
            "description": "Capacity in MB (0 - 102400000).\n"
          },
          "carrier": {
            "type": "string",
            "description": "Carrier configuration.\n"
          },
          "iccid": {
            "type": "string",
            "description": "ICCID configuration.\n"
          },
          "modemId": {
            "type": "string",
            "description": "Dataplan's modem specifics, if any. Valid values: `modem1`, `modem2`, `all`.\n"
          },
          "monthlyFee": {
            "type": "integer",
            "description": "Monthly fee of dataplan (0 - 100000, in local currency).\n"
          },
          "name": {
            "type": "string",
            "description": "FortiExtender dataplan name\n",
            "willReplaceOnChanges": true
          },
          "overage": {
            "type": "string",
            "description": "Enable/disable dataplan overage detection. Valid values: `disable`, `enable`.\n"
          },
          "password": {
            "type": "string",
            "description": "Password.\n",
            "secret": true
          },
          "pdn": {
            "type": "string",
            "description": "PDN type. Valid values: `ipv4-only`, `ipv6-only`, `ipv4-ipv6`.\n"
          },
          "preferredSubnet": {
            "type": "integer",
            "description": "Preferred subnet mask. On FortiOS versions 6.4.2-7.0.1: 8 - 32. On FortiOS versions 7.0.2-7.2.0: 0 - 32.\n"
          },
          "privateNetwork": {
            "type": "string",
            "description": "Enable/disable dataplan private network support. Valid values: `disable`, `enable`.\n"
          },
          "signalPeriod": {
            "type": "integer",
            "description": "Signal period (600 to 18000 seconds).\n"
          },
          "signalThreshold": {
            "type": "integer",
            "description": "Signal threshold. Specify the range between 50 - 100, where 50/100 means -50/-100 dBm.\n"
          },
          "slot": {
            "type": "string",
            "description": "SIM slot configuration. Valid values: `sim1`, `sim2`.\n"
          },
          "type": {
            "type": "string",
            "description": "Type preferences configuration. Valid values: `carrier`, `slot`, `iccid`, `generic`.\n"
          },
          "username": {
            "type": "string",
            "description": "Username.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:extendercontroller/extender1:Extender1": {
      "description": "Extender controller configuration.\nThis resource will be deprecated. For FortiOS Version >= 7.2.1, using `fortios.extensioncontroller.Extender`. For FortiOS version < 7.2.1, see `fortios.extendercontroller.Extender`\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.extendercontroller.Extender1(\"trname\", {\n    authorized: \"disable\",\n    controllerReport: {\n        interval: 300,\n        signalThreshold: 10,\n        status: \"disable\",\n    },\n    extName: \"2932\",\n    fosid: \"FX201E5919004031\",\n    modem1: {\n        autoSwitch: {\n            dataplan: \"disable\",\n            disconnect: \"disable\",\n            disconnectPeriod: 600,\n            disconnectThreshold: 3,\n            signal: \"disable\",\n            switchBack: \"timer\",\n            switchBackTime: \"00:01\",\n            switchBackTimer: 86400,\n        },\n        connStatus: 0,\n        defaultSim: \"sim2\",\n        gps: \"enable\",\n        redundantIntf: \"s1\",\n        redundantMode: \"enable\",\n        sim1Pin: \"disable\",\n        sim1PinCode: \"testpincode\",\n        sim2Pin: \"disable\",\n    },\n    modem2: {\n        autoSwitch: {\n            dataplan: \"disable\",\n            disconnect: \"disable\",\n            disconnectPeriod: 600,\n            disconnectThreshold: 3,\n            signal: \"disable\",\n            switchBackTime: \"00:01\",\n            switchBackTimer: 86400,\n        },\n        connStatus: 0,\n        defaultSim: \"sim1\",\n        gps: \"enable\",\n        redundantMode: \"disable\",\n        sim1Pin: \"disable\",\n        sim2Pin: \"disable\",\n    },\n    vdom: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.extendercontroller.Extender1(\"trname\",\n    authorized=\"disable\",\n    controller_report=fortios.extendercontroller.Extender1ControllerReportArgs(\n        interval=300,\n        signal_threshold=10,\n        status=\"disable\",\n    ),\n    ext_name=\"2932\",\n    fosid=\"FX201E5919004031\",\n    modem1=fortios.extendercontroller.Extender1Modem1Args(\n        auto_switch=fortios.extendercontroller.Extender1Modem1AutoSwitchArgs(\n            dataplan=\"disable\",\n            disconnect=\"disable\",\n            disconnect_period=600,\n            disconnect_threshold=3,\n            signal=\"disable\",\n            switch_back=\"timer\",\n            switch_back_time=\"00:01\",\n            switch_back_timer=86400,\n        ),\n        conn_status=0,\n        default_sim=\"sim2\",\n        gps=\"enable\",\n        redundant_intf=\"s1\",\n        redundant_mode=\"enable\",\n        sim1_pin=\"disable\",\n        sim1_pin_code=\"testpincode\",\n        sim2_pin=\"disable\",\n    ),\n    modem2=fortios.extendercontroller.Extender1Modem2Args(\n        auto_switch=fortios.extendercontroller.Extender1Modem2AutoSwitchArgs(\n            dataplan=\"disable\",\n            disconnect=\"disable\",\n            disconnect_period=600,\n            disconnect_threshold=3,\n            signal=\"disable\",\n            switch_back_time=\"00:01\",\n            switch_back_timer=86400,\n        ),\n        conn_status=0,\n        default_sim=\"sim1\",\n        gps=\"enable\",\n        redundant_mode=\"disable\",\n        sim1_pin=\"disable\",\n        sim2_pin=\"disable\",\n    ),\n    vdom=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Extendercontroller.Extender1(\"trname\", new()\n    {\n        Authorized = \"disable\",\n        ControllerReport = new Fortios.Extendercontroller.Inputs.Extender1ControllerReportArgs\n        {\n            Interval = 300,\n            SignalThreshold = 10,\n            Status = \"disable\",\n        },\n        ExtName = \"2932\",\n        Fosid = \"FX201E5919004031\",\n        Modem1 = new Fortios.Extendercontroller.Inputs.Extender1Modem1Args\n        {\n            AutoSwitch = new Fortios.Extendercontroller.Inputs.Extender1Modem1AutoSwitchArgs\n            {\n                Dataplan = \"disable\",\n                Disconnect = \"disable\",\n                DisconnectPeriod = 600,\n                DisconnectThreshold = 3,\n                Signal = \"disable\",\n                SwitchBack = \"timer\",\n                SwitchBackTime = \"00:01\",\n                SwitchBackTimer = 86400,\n            },\n            ConnStatus = 0,\n            DefaultSim = \"sim2\",\n            Gps = \"enable\",\n            RedundantIntf = \"s1\",\n            RedundantMode = \"enable\",\n            Sim1Pin = \"disable\",\n            Sim1PinCode = \"testpincode\",\n            Sim2Pin = \"disable\",\n        },\n        Modem2 = new Fortios.Extendercontroller.Inputs.Extender1Modem2Args\n        {\n            AutoSwitch = new Fortios.Extendercontroller.Inputs.Extender1Modem2AutoSwitchArgs\n            {\n                Dataplan = \"disable\",\n                Disconnect = \"disable\",\n                DisconnectPeriod = 600,\n                DisconnectThreshold = 3,\n                Signal = \"disable\",\n                SwitchBackTime = \"00:01\",\n                SwitchBackTimer = 86400,\n            },\n            ConnStatus = 0,\n            DefaultSim = \"sim1\",\n            Gps = \"enable\",\n            RedundantMode = \"disable\",\n            Sim1Pin = \"disable\",\n            Sim2Pin = \"disable\",\n        },\n        Vdom = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/extendercontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := extendercontroller.NewExtender1(ctx, \"trname\", &extendercontroller.Extender1Args{\n\t\t\tAuthorized: pulumi.String(\"disable\"),\n\t\t\tControllerReport: &extendercontroller.Extender1ControllerReportArgs{\n\t\t\t\tInterval:        pulumi.Int(300),\n\t\t\t\tSignalThreshold: pulumi.Int(10),\n\t\t\t\tStatus:          pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tExtName: pulumi.String(\"2932\"),\n\t\t\tFosid:   pulumi.String(\"FX201E5919004031\"),\n\t\t\tModem1: &extendercontroller.Extender1Modem1Args{\n\t\t\t\tAutoSwitch: &extendercontroller.Extender1Modem1AutoSwitchArgs{\n\t\t\t\t\tDataplan:            pulumi.String(\"disable\"),\n\t\t\t\t\tDisconnect:          pulumi.String(\"disable\"),\n\t\t\t\t\tDisconnectPeriod:    pulumi.Int(600),\n\t\t\t\t\tDisconnectThreshold: pulumi.Int(3),\n\t\t\t\t\tSignal:              pulumi.String(\"disable\"),\n\t\t\t\t\tSwitchBack:          pulumi.String(\"timer\"),\n\t\t\t\t\tSwitchBackTime:      pulumi.String(\"00:01\"),\n\t\t\t\t\tSwitchBackTimer:     pulumi.Int(86400),\n\t\t\t\t},\n\t\t\t\tConnStatus:    pulumi.Int(0),\n\t\t\t\tDefaultSim:    pulumi.String(\"sim2\"),\n\t\t\t\tGps:           pulumi.String(\"enable\"),\n\t\t\t\tRedundantIntf: pulumi.String(\"s1\"),\n\t\t\t\tRedundantMode: pulumi.String(\"enable\"),\n\t\t\t\tSim1Pin:       pulumi.String(\"disable\"),\n\t\t\t\tSim1PinCode:   pulumi.String(\"testpincode\"),\n\t\t\t\tSim2Pin:       pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tModem2: &extendercontroller.Extender1Modem2Args{\n\t\t\t\tAutoSwitch: &extendercontroller.Extender1Modem2AutoSwitchArgs{\n\t\t\t\t\tDataplan:            pulumi.String(\"disable\"),\n\t\t\t\t\tDisconnect:          pulumi.String(\"disable\"),\n\t\t\t\t\tDisconnectPeriod:    pulumi.Int(600),\n\t\t\t\t\tDisconnectThreshold: pulumi.Int(3),\n\t\t\t\t\tSignal:              pulumi.String(\"disable\"),\n\t\t\t\t\tSwitchBackTime:      pulumi.String(\"00:01\"),\n\t\t\t\t\tSwitchBackTimer:     pulumi.Int(86400),\n\t\t\t\t},\n\t\t\t\tConnStatus:    pulumi.Int(0),\n\t\t\t\tDefaultSim:    pulumi.String(\"sim1\"),\n\t\t\t\tGps:           pulumi.String(\"enable\"),\n\t\t\t\tRedundantMode: pulumi.String(\"disable\"),\n\t\t\t\tSim1Pin:       pulumi.String(\"disable\"),\n\t\t\t\tSim2Pin:       pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tVdom: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.extendercontroller.Extender1;\nimport com.pulumi.fortios.extendercontroller.Extender1Args;\nimport com.pulumi.fortios.extendercontroller.inputs.Extender1ControllerReportArgs;\nimport com.pulumi.fortios.extendercontroller.inputs.Extender1Modem1Args;\nimport com.pulumi.fortios.extendercontroller.inputs.Extender1Modem1AutoSwitchArgs;\nimport com.pulumi.fortios.extendercontroller.inputs.Extender1Modem2Args;\nimport com.pulumi.fortios.extendercontroller.inputs.Extender1Modem2AutoSwitchArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Extender1(\"trname\", Extender1Args.builder()\n            .authorized(\"disable\")\n            .controllerReport(Extender1ControllerReportArgs.builder()\n                .interval(300)\n                .signalThreshold(10)\n                .status(\"disable\")\n                .build())\n            .extName(\"2932\")\n            .fosid(\"FX201E5919004031\")\n            .modem1(Extender1Modem1Args.builder()\n                .autoSwitch(Extender1Modem1AutoSwitchArgs.builder()\n                    .dataplan(\"disable\")\n                    .disconnect(\"disable\")\n                    .disconnectPeriod(600)\n                    .disconnectThreshold(3)\n                    .signal(\"disable\")\n                    .switchBack(\"timer\")\n                    .switchBackTime(\"00:01\")\n                    .switchBackTimer(86400)\n                    .build())\n                .connStatus(0)\n                .defaultSim(\"sim2\")\n                .gps(\"enable\")\n                .redundantIntf(\"s1\")\n                .redundantMode(\"enable\")\n                .sim1Pin(\"disable\")\n                .sim1PinCode(\"testpincode\")\n                .sim2Pin(\"disable\")\n                .build())\n            .modem2(Extender1Modem2Args.builder()\n                .autoSwitch(Extender1Modem2AutoSwitchArgs.builder()\n                    .dataplan(\"disable\")\n                    .disconnect(\"disable\")\n                    .disconnectPeriod(600)\n                    .disconnectThreshold(3)\n                    .signal(\"disable\")\n                    .switchBackTime(\"00:01\")\n                    .switchBackTimer(86400)\n                    .build())\n                .connStatus(0)\n                .defaultSim(\"sim1\")\n                .gps(\"enable\")\n                .redundantMode(\"disable\")\n                .sim1Pin(\"disable\")\n                .sim2Pin(\"disable\")\n                .build())\n            .vdom(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:extendercontroller:Extender1\n    properties:\n      authorized: disable\n      controllerReport:\n        interval: 300\n        signalThreshold: 10\n        status: disable\n      extName: '2932'\n      fosid: FX201E5919004031\n      modem1:\n        autoSwitch:\n          dataplan: disable\n          disconnect: disable\n          disconnectPeriod: 600\n          disconnectThreshold: 3\n          signal: disable\n          switchBack: timer\n          switchBackTime: 00:01\n          switchBackTimer: 86400\n        connStatus: 0\n        defaultSim: sim2\n        gps: enable\n        redundantIntf: s1\n        redundantMode: enable\n        sim1Pin: disable\n        sim1PinCode: testpincode\n        sim2Pin: disable\n      modem2:\n        autoSwitch:\n          dataplan: disable\n          disconnect: disable\n          disconnectPeriod: 600\n          disconnectThreshold: 3\n          signal: disable\n          switchBackTime: 00:01\n          switchBackTimer: 86400\n        connStatus: 0\n        defaultSim: sim1\n        gps: enable\n        redundantMode: disable\n        sim1Pin: disable\n        sim2Pin: disable\n      vdom: 0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nExtenderController Extender1 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:extendercontroller/extender1:Extender1 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:extendercontroller/extender1:Extender1 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authorized": {
          "type": "string",
          "description": "FortiExtender Administration (enable or disable). Valid values: `disable`, `enable`.\n"
        },
        "controllerReport": {
          "$ref": "#/types/fortios:extendercontroller%2FExtender1ControllerReport:Extender1ControllerReport",
          "description": "FortiExtender controller report configuration. The structure of `controller_report` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "extName": {
          "type": "string",
          "description": "FortiExtender name.\n"
        },
        "fosid": {
          "type": "string",
          "description": "FortiExtender serial number.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "loginPassword": {
          "type": "string",
          "description": "FortiExtender login password.\n",
          "secret": true
        },
        "modem1": {
          "$ref": "#/types/fortios:extendercontroller%2FExtender1Modem1:Extender1Modem1",
          "description": "Configuration options for modem 1. The structure of `modem1` block is documented below.\n"
        },
        "modem2": {
          "$ref": "#/types/fortios:extendercontroller%2FExtender1Modem2:Extender1Modem2",
          "description": "Configuration options for modem 2. The structure of `modem2` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender entry name.\n"
        },
        "vdom": {
          "type": "integer",
          "description": "VDOM\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "authorized",
        "controllerReport",
        "description",
        "extName",
        "fosid",
        "modem1",
        "modem2",
        "name",
        "vdom",
        "vdomparam"
      ],
      "inputProperties": {
        "authorized": {
          "type": "string",
          "description": "FortiExtender Administration (enable or disable). Valid values: `disable`, `enable`.\n"
        },
        "controllerReport": {
          "$ref": "#/types/fortios:extendercontroller%2FExtender1ControllerReport:Extender1ControllerReport",
          "description": "FortiExtender controller report configuration. The structure of `controller_report` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "extName": {
          "type": "string",
          "description": "FortiExtender name.\n"
        },
        "fosid": {
          "type": "string",
          "description": "FortiExtender serial number.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "loginPassword": {
          "type": "string",
          "description": "FortiExtender login password.\n",
          "secret": true
        },
        "modem1": {
          "$ref": "#/types/fortios:extendercontroller%2FExtender1Modem1:Extender1Modem1",
          "description": "Configuration options for modem 1. The structure of `modem1` block is documented below.\n"
        },
        "modem2": {
          "$ref": "#/types/fortios:extendercontroller%2FExtender1Modem2:Extender1Modem2",
          "description": "Configuration options for modem 2. The structure of `modem2` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender entry name.\n",
          "willReplaceOnChanges": true
        },
        "vdom": {
          "type": "integer",
          "description": "VDOM\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "authorized"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Extender1 resources.\n",
        "properties": {
          "authorized": {
            "type": "string",
            "description": "FortiExtender Administration (enable or disable). Valid values: `disable`, `enable`.\n"
          },
          "controllerReport": {
            "$ref": "#/types/fortios:extendercontroller%2FExtender1ControllerReport:Extender1ControllerReport",
            "description": "FortiExtender controller report configuration. The structure of `controller_report` block is documented below.\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "extName": {
            "type": "string",
            "description": "FortiExtender name.\n"
          },
          "fosid": {
            "type": "string",
            "description": "FortiExtender serial number.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "loginPassword": {
            "type": "string",
            "description": "FortiExtender login password.\n",
            "secret": true
          },
          "modem1": {
            "$ref": "#/types/fortios:extendercontroller%2FExtender1Modem1:Extender1Modem1",
            "description": "Configuration options for modem 1. The structure of `modem1` block is documented below.\n"
          },
          "modem2": {
            "$ref": "#/types/fortios:extendercontroller%2FExtender1Modem2:Extender1Modem2",
            "description": "Configuration options for modem 2. The structure of `modem2` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiExtender entry name.\n",
            "willReplaceOnChanges": true
          },
          "vdom": {
            "type": "integer",
            "description": "VDOM\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:extendercontroller/extender:Extender": {
      "description": "Extender controller configuration.\nThe resource applies to FortiOS Version < 7.2.1. For FortiOS version >= 7.2.1, see `fortios.extensioncontroller.Extender`\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.extendercontroller.Extender(\"trname\", {\n    admin: \"disable\",\n    billingStartDay: 1,\n    connStatus: 0,\n    dialMode: \"always-connect\",\n    dialStatus: 0,\n    extName: \"332\",\n    fosid: \"1\",\n    initiatedUpdate: \"disable\",\n    mode: \"standalone\",\n    modemType: \"gsm/lte\",\n    multiMode: \"auto\",\n    pppAuthProtocol: \"auto\",\n    pppEchoRequest: \"disable\",\n    quotaLimitMb: 0,\n    redial: \"none\",\n    roaming: \"disable\",\n    role: \"primary\",\n    vdom: 0,\n    wimaxAuthProtocol: \"tls\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.extendercontroller.Extender(\"trname\",\n    admin=\"disable\",\n    billing_start_day=1,\n    conn_status=0,\n    dial_mode=\"always-connect\",\n    dial_status=0,\n    ext_name=\"332\",\n    fosid=\"1\",\n    initiated_update=\"disable\",\n    mode=\"standalone\",\n    modem_type=\"gsm/lte\",\n    multi_mode=\"auto\",\n    ppp_auth_protocol=\"auto\",\n    ppp_echo_request=\"disable\",\n    quota_limit_mb=0,\n    redial=\"none\",\n    roaming=\"disable\",\n    role=\"primary\",\n    vdom=0,\n    wimax_auth_protocol=\"tls\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Extendercontroller.Extender(\"trname\", new()\n    {\n        Admin = \"disable\",\n        BillingStartDay = 1,\n        ConnStatus = 0,\n        DialMode = \"always-connect\",\n        DialStatus = 0,\n        ExtName = \"332\",\n        Fosid = \"1\",\n        InitiatedUpdate = \"disable\",\n        Mode = \"standalone\",\n        ModemType = \"gsm/lte\",\n        MultiMode = \"auto\",\n        PppAuthProtocol = \"auto\",\n        PppEchoRequest = \"disable\",\n        QuotaLimitMb = 0,\n        Redial = \"none\",\n        Roaming = \"disable\",\n        Role = \"primary\",\n        Vdom = 0,\n        WimaxAuthProtocol = \"tls\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/extendercontroller\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := extendercontroller.NewExtender(ctx, \"trname\", &extendercontroller.ExtenderArgs{\n\t\t\tAdmin:             pulumi.String(\"disable\"),\n\t\t\tBillingStartDay:   pulumi.Int(1),\n\t\t\tConnStatus:        pulumi.Int(0),\n\t\t\tDialMode:          pulumi.String(\"always-connect\"),\n\t\t\tDialStatus:        pulumi.Int(0),\n\t\t\tExtName:           pulumi.String(\"332\"),\n\t\t\tFosid:             pulumi.String(\"1\"),\n\t\t\tInitiatedUpdate:   pulumi.String(\"disable\"),\n\t\t\tMode:              pulumi.String(\"standalone\"),\n\t\t\tModemType:         pulumi.String(\"gsm/lte\"),\n\t\t\tMultiMode:         pulumi.String(\"auto\"),\n\t\t\tPppAuthProtocol:   pulumi.String(\"auto\"),\n\t\t\tPppEchoRequest:    pulumi.String(\"disable\"),\n\t\t\tQuotaLimitMb:      pulumi.Int(0),\n\t\t\tRedial:            pulumi.String(\"none\"),\n\t\t\tRoaming:           pulumi.String(\"disable\"),\n\t\t\tRole:              pulumi.String(\"primary\"),\n\t\t\tVdom:              pulumi.Int(0),\n\t\t\tWimaxAuthProtocol: pulumi.String(\"tls\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.extendercontroller.Extender;\nimport com.pulumi.fortios.extendercontroller.ExtenderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Extender(\"trname\", ExtenderArgs.builder()\n            .admin(\"disable\")\n            .billingStartDay(1)\n            .connStatus(0)\n            .dialMode(\"always-connect\")\n            .dialStatus(0)\n            .extName(\"332\")\n            .fosid(\"1\")\n            .initiatedUpdate(\"disable\")\n            .mode(\"standalone\")\n            .modemType(\"gsm/lte\")\n            .multiMode(\"auto\")\n            .pppAuthProtocol(\"auto\")\n            .pppEchoRequest(\"disable\")\n            .quotaLimitMb(0)\n            .redial(\"none\")\n            .roaming(\"disable\")\n            .role(\"primary\")\n            .vdom(0)\n            .wimaxAuthProtocol(\"tls\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:extendercontroller:Extender\n    properties:\n      admin: disable\n      billingStartDay: 1\n      connStatus: 0\n      dialMode: always-connect\n      dialStatus: 0\n      extName: '332'\n      fosid: '1'\n      initiatedUpdate: disable\n      mode: standalone\n      modemType: gsm/lte\n      multiMode: auto\n      pppAuthProtocol: auto\n      pppEchoRequest: disable\n      quotaLimitMb: 0\n      redial: none\n      roaming: disable\n      role: primary\n      vdom: 0\n      wimaxAuthProtocol: tls\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nExtenderController Extender can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:extendercontroller/extender:Extender labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:extendercontroller/extender:Extender labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "aaaSharedSecret": {
          "type": "string",
          "description": "AAA shared secret.\n",
          "secret": true
        },
        "accessPointName": {
          "type": "string",
          "description": "Access point name(APN).\n"
        },
        "admin": {
          "type": "string",
          "description": "FortiExtender Administration (enable or disable). Valid values: `disable`, `discovered`, `enable`.\n"
        },
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
        },
        "atDialScript": {
          "type": "string",
          "description": "Initialization AT commands specific to the MODEM.\n"
        },
        "authorized": {
          "type": "string",
          "description": "FortiExtender Administration (enable or disable). Valid values: `disable`, `enable`.\n"
        },
        "bandwidthLimit": {
          "type": "integer",
          "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
        },
        "billingStartDay": {
          "type": "integer",
          "description": "Billing start day.\n"
        },
        "cdmaAaaSpi": {
          "type": "string",
          "description": "CDMA AAA SPI.\n"
        },
        "cdmaHaSpi": {
          "type": "string",
          "description": "CDMA HA SPI.\n"
        },
        "cdmaNai": {
          "type": "string",
          "description": "NAI for CDMA MODEMS.\n"
        },
        "connStatus": {
          "type": "integer",
          "description": "Connection status.\n"
        },
        "controllerReport": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderControllerReport:ExtenderControllerReport",
          "description": "FortiExtender controller report configuration. The structure of `controller_report` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceId": {
          "type": "integer",
          "description": "device-id\n"
        },
        "dialMode": {
          "type": "string",
          "description": "Dial mode (dial-on-demand or always-connect). Valid values: `dial-on-demand`, `always-connect`.\n"
        },
        "dialStatus": {
          "type": "integer",
          "description": "Dial status.\n"
        },
        "enforceBandwidth": {
          "type": "string",
          "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
        },
        "extName": {
          "type": "string",
          "description": "FortiExtender name.\n"
        },
        "extensionType": {
          "type": "string",
          "description": "Extension type for this FortiExtender. Valid values: `wan-extension`, `lan-extension`.\n"
        },
        "fosid": {
          "type": "string",
          "description": "FortiExtender serial number.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "haSharedSecret": {
          "type": "string",
          "description": "HA shared secret.\n",
          "secret": true
        },
        "ifname": {
          "type": "string",
          "description": "FortiExtender interface name.\n"
        },
        "initiatedUpdate": {
          "type": "string",
          "description": "Allow/disallow network initiated updates to the MODEM. Valid values: `enable`, `disable`.\n"
        },
        "loginPassword": {
          "type": "string",
          "description": "FortiExtender login password.\n"
        },
        "loginPasswordChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "mode": {
          "type": "string",
          "description": "FortiExtender mode. Valid values: `standalone`, `redundant`.\n"
        },
        "modem1": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderModem1:ExtenderModem1",
          "description": "Configuration options for modem 1. The structure of `modem1` block is documented below.\n"
        },
        "modem2": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderModem2:ExtenderModem2",
          "description": "Configuration options for modem 2. The structure of `modem2` block is documented below.\n"
        },
        "modemPasswd": {
          "type": "string",
          "description": "MODEM password.\n",
          "secret": true
        },
        "modemType": {
          "type": "string",
          "description": "MODEM type (CDMA, GSM/LTE or WIMAX). Valid values: `cdma`, `gsm/lte`, `wimax`.\n"
        },
        "multiMode": {
          "type": "string",
          "description": "MODEM mode of operation(3G,LTE,etc). Valid values: `auto`, `auto-3g`, `force-lte`, `force-3g`, `force-2g`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender entry name.\n"
        },
        "overrideAllowaccess": {
          "type": "string",
          "description": "Enable to override the extender profile management access configuration. Valid values: `enable`, `disable`.\n"
        },
        "overrideEnforceBandwidth": {
          "type": "string",
          "description": "Enable to override the extender profile enforce-bandwidth setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideLoginPasswordChange": {
          "type": "string",
          "description": "Enable to override the extender profile login-password (administrator password) setting. Valid values: `enable`, `disable`.\n"
        },
        "pppAuthProtocol": {
          "type": "string",
          "description": "PPP authentication protocol (PAP,CHAP or auto). Valid values: `auto`, `pap`, `chap`.\n"
        },
        "pppEchoRequest": {
          "type": "string",
          "description": "Enable/disable PPP echo request. Valid values: `enable`, `disable`.\n"
        },
        "pppPassword": {
          "type": "string",
          "description": "PPP password.\n",
          "secret": true
        },
        "pppUsername": {
          "type": "string",
          "description": "PPP username.\n"
        },
        "primaryHa": {
          "type": "string",
          "description": "Primary HA.\n"
        },
        "profile": {
          "type": "string",
          "description": "FortiExtender profile configuration.\n"
        },
        "quotaLimitMb": {
          "type": "integer",
          "description": "Monthly quota limit (MB).\n"
        },
        "redial": {
          "type": "string",
          "description": "Number of redials allowed based on failed attempts. Valid values: `none`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`.\n"
        },
        "redundantIntf": {
          "type": "string",
          "description": "Redundant interface.\n"
        },
        "roaming": {
          "type": "string",
          "description": "Enable/disable MODEM roaming. Valid values: `enable`, `disable`.\n"
        },
        "role": {
          "type": "string",
          "description": "FortiExtender work role(Primary, Secondary, None). Valid values: `none`, `primary`, `secondary`.\n"
        },
        "secondaryHa": {
          "type": "string",
          "description": "Secondary HA.\n"
        },
        "simPin": {
          "type": "string",
          "description": "SIM PIN.\n",
          "secret": true
        },
        "vdom": {
          "type": "integer",
          "description": "VDOM\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "wanExtension": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderWanExtension:ExtenderWanExtension",
          "description": "FortiExtender wan extension configuration. The structure of `wan_extension` block is documented below.\n"
        },
        "wimaxAuthProtocol": {
          "type": "string",
          "description": "WiMax authentication protocol(TLS or TTLS). Valid values: `tls`, `ttls`.\n"
        },
        "wimaxCarrier": {
          "type": "string",
          "description": "WiMax carrier.\n"
        },
        "wimaxRealm": {
          "type": "string",
          "description": "WiMax realm.\n"
        }
      },
      "type": "object",
      "required": [
        "accessPointName",
        "admin",
        "allowaccess",
        "atDialScript",
        "authorized",
        "bandwidthLimit",
        "billingStartDay",
        "cdmaAaaSpi",
        "cdmaHaSpi",
        "cdmaNai",
        "connStatus",
        "controllerReport",
        "description",
        "deviceId",
        "dialMode",
        "dialStatus",
        "enforceBandwidth",
        "extName",
        "extensionType",
        "fosid",
        "ifname",
        "initiatedUpdate",
        "loginPasswordChange",
        "mode",
        "modem1",
        "modem2",
        "modemType",
        "multiMode",
        "name",
        "overrideAllowaccess",
        "overrideEnforceBandwidth",
        "overrideLoginPasswordChange",
        "pppAuthProtocol",
        "pppEchoRequest",
        "pppUsername",
        "primaryHa",
        "profile",
        "quotaLimitMb",
        "redial",
        "redundantIntf",
        "roaming",
        "role",
        "secondaryHa",
        "vdom",
        "vdomparam",
        "wanExtension",
        "wimaxAuthProtocol",
        "wimaxCarrier",
        "wimaxRealm"
      ],
      "inputProperties": {
        "aaaSharedSecret": {
          "type": "string",
          "description": "AAA shared secret.\n",
          "secret": true
        },
        "accessPointName": {
          "type": "string",
          "description": "Access point name(APN).\n"
        },
        "admin": {
          "type": "string",
          "description": "FortiExtender Administration (enable or disable). Valid values: `disable`, `discovered`, `enable`.\n"
        },
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
        },
        "atDialScript": {
          "type": "string",
          "description": "Initialization AT commands specific to the MODEM.\n"
        },
        "authorized": {
          "type": "string",
          "description": "FortiExtender Administration (enable or disable). Valid values: `disable`, `enable`.\n"
        },
        "bandwidthLimit": {
          "type": "integer",
          "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
        },
        "billingStartDay": {
          "type": "integer",
          "description": "Billing start day.\n"
        },
        "cdmaAaaSpi": {
          "type": "string",
          "description": "CDMA AAA SPI.\n"
        },
        "cdmaHaSpi": {
          "type": "string",
          "description": "CDMA HA SPI.\n"
        },
        "cdmaNai": {
          "type": "string",
          "description": "NAI for CDMA MODEMS.\n"
        },
        "connStatus": {
          "type": "integer",
          "description": "Connection status.\n"
        },
        "controllerReport": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderControllerReport:ExtenderControllerReport",
          "description": "FortiExtender controller report configuration. The structure of `controller_report` block is documented below.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceId": {
          "type": "integer",
          "description": "device-id\n"
        },
        "dialMode": {
          "type": "string",
          "description": "Dial mode (dial-on-demand or always-connect). Valid values: `dial-on-demand`, `always-connect`.\n"
        },
        "dialStatus": {
          "type": "integer",
          "description": "Dial status.\n"
        },
        "enforceBandwidth": {
          "type": "string",
          "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
        },
        "extName": {
          "type": "string",
          "description": "FortiExtender name.\n"
        },
        "extensionType": {
          "type": "string",
          "description": "Extension type for this FortiExtender. Valid values: `wan-extension`, `lan-extension`.\n"
        },
        "fosid": {
          "type": "string",
          "description": "FortiExtender serial number.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "haSharedSecret": {
          "type": "string",
          "description": "HA shared secret.\n",
          "secret": true
        },
        "ifname": {
          "type": "string",
          "description": "FortiExtender interface name.\n"
        },
        "initiatedUpdate": {
          "type": "string",
          "description": "Allow/disallow network initiated updates to the MODEM. Valid values: `enable`, `disable`.\n"
        },
        "loginPassword": {
          "type": "string",
          "description": "FortiExtender login password.\n"
        },
        "loginPasswordChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "mode": {
          "type": "string",
          "description": "FortiExtender mode. Valid values: `standalone`, `redundant`.\n"
        },
        "modem1": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderModem1:ExtenderModem1",
          "description": "Configuration options for modem 1. The structure of `modem1` block is documented below.\n"
        },
        "modem2": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderModem2:ExtenderModem2",
          "description": "Configuration options for modem 2. The structure of `modem2` block is documented below.\n"
        },
        "modemPasswd": {
          "type": "string",
          "description": "MODEM password.\n",
          "secret": true
        },
        "modemType": {
          "type": "string",
          "description": "MODEM type (CDMA, GSM/LTE or WIMAX). Valid values: `cdma`, `gsm/lte`, `wimax`.\n"
        },
        "multiMode": {
          "type": "string",
          "description": "MODEM mode of operation(3G,LTE,etc). Valid values: `auto`, `auto-3g`, `force-lte`, `force-3g`, `force-2g`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender entry name.\n"
        },
        "overrideAllowaccess": {
          "type": "string",
          "description": "Enable to override the extender profile management access configuration. Valid values: `enable`, `disable`.\n"
        },
        "overrideEnforceBandwidth": {
          "type": "string",
          "description": "Enable to override the extender profile enforce-bandwidth setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideLoginPasswordChange": {
          "type": "string",
          "description": "Enable to override the extender profile login-password (administrator password) setting. Valid values: `enable`, `disable`.\n"
        },
        "pppAuthProtocol": {
          "type": "string",
          "description": "PPP authentication protocol (PAP,CHAP or auto). Valid values: `auto`, `pap`, `chap`.\n"
        },
        "pppEchoRequest": {
          "type": "string",
          "description": "Enable/disable PPP echo request. Valid values: `enable`, `disable`.\n"
        },
        "pppPassword": {
          "type": "string",
          "description": "PPP password.\n",
          "secret": true
        },
        "pppUsername": {
          "type": "string",
          "description": "PPP username.\n"
        },
        "primaryHa": {
          "type": "string",
          "description": "Primary HA.\n"
        },
        "profile": {
          "type": "string",
          "description": "FortiExtender profile configuration.\n"
        },
        "quotaLimitMb": {
          "type": "integer",
          "description": "Monthly quota limit (MB).\n"
        },
        "redial": {
          "type": "string",
          "description": "Number of redials allowed based on failed attempts. Valid values: `none`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`.\n"
        },
        "redundantIntf": {
          "type": "string",
          "description": "Redundant interface.\n"
        },
        "roaming": {
          "type": "string",
          "description": "Enable/disable MODEM roaming. Valid values: `enable`, `disable`.\n"
        },
        "role": {
          "type": "string",
          "description": "FortiExtender work role(Primary, Secondary, None). Valid values: `none`, `primary`, `secondary`.\n"
        },
        "secondaryHa": {
          "type": "string",
          "description": "Secondary HA.\n"
        },
        "simPin": {
          "type": "string",
          "description": "SIM PIN.\n",
          "secret": true
        },
        "vdom": {
          "type": "integer",
          "description": "VDOM\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "wanExtension": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderWanExtension:ExtenderWanExtension",
          "description": "FortiExtender wan extension configuration. The structure of `wan_extension` block is documented below.\n"
        },
        "wimaxAuthProtocol": {
          "type": "string",
          "description": "WiMax authentication protocol(TLS or TTLS). Valid values: `tls`, `ttls`.\n"
        },
        "wimaxCarrier": {
          "type": "string",
          "description": "WiMax carrier.\n"
        },
        "wimaxRealm": {
          "type": "string",
          "description": "WiMax realm.\n"
        }
      },
      "requiredInputs": [
        "admin",
        "fosid",
        "role"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Extender resources.\n",
        "properties": {
          "aaaSharedSecret": {
            "type": "string",
            "description": "AAA shared secret.\n",
            "secret": true
          },
          "accessPointName": {
            "type": "string",
            "description": "Access point name(APN).\n"
          },
          "admin": {
            "type": "string",
            "description": "FortiExtender Administration (enable or disable). Valid values: `disable`, `discovered`, `enable`.\n"
          },
          "allowaccess": {
            "type": "string",
            "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
          },
          "atDialScript": {
            "type": "string",
            "description": "Initialization AT commands specific to the MODEM.\n"
          },
          "authorized": {
            "type": "string",
            "description": "FortiExtender Administration (enable or disable). Valid values: `disable`, `enable`.\n"
          },
          "bandwidthLimit": {
            "type": "integer",
            "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
          },
          "billingStartDay": {
            "type": "integer",
            "description": "Billing start day.\n"
          },
          "cdmaAaaSpi": {
            "type": "string",
            "description": "CDMA AAA SPI.\n"
          },
          "cdmaHaSpi": {
            "type": "string",
            "description": "CDMA HA SPI.\n"
          },
          "cdmaNai": {
            "type": "string",
            "description": "NAI for CDMA MODEMS.\n"
          },
          "connStatus": {
            "type": "integer",
            "description": "Connection status.\n"
          },
          "controllerReport": {
            "$ref": "#/types/fortios:extendercontroller%2FExtenderControllerReport:ExtenderControllerReport",
            "description": "FortiExtender controller report configuration. The structure of `controller_report` block is documented below.\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "deviceId": {
            "type": "integer",
            "description": "device-id\n"
          },
          "dialMode": {
            "type": "string",
            "description": "Dial mode (dial-on-demand or always-connect). Valid values: `dial-on-demand`, `always-connect`.\n"
          },
          "dialStatus": {
            "type": "integer",
            "description": "Dial status.\n"
          },
          "enforceBandwidth": {
            "type": "string",
            "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
          },
          "extName": {
            "type": "string",
            "description": "FortiExtender name.\n"
          },
          "extensionType": {
            "type": "string",
            "description": "Extension type for this FortiExtender. Valid values: `wan-extension`, `lan-extension`.\n"
          },
          "fosid": {
            "type": "string",
            "description": "FortiExtender serial number.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "haSharedSecret": {
            "type": "string",
            "description": "HA shared secret.\n",
            "secret": true
          },
          "ifname": {
            "type": "string",
            "description": "FortiExtender interface name.\n"
          },
          "initiatedUpdate": {
            "type": "string",
            "description": "Allow/disallow network initiated updates to the MODEM. Valid values: `enable`, `disable`.\n"
          },
          "loginPassword": {
            "type": "string",
            "description": "FortiExtender login password.\n"
          },
          "loginPasswordChange": {
            "type": "string",
            "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
          },
          "mode": {
            "type": "string",
            "description": "FortiExtender mode. Valid values: `standalone`, `redundant`.\n"
          },
          "modem1": {
            "$ref": "#/types/fortios:extendercontroller%2FExtenderModem1:ExtenderModem1",
            "description": "Configuration options for modem 1. The structure of `modem1` block is documented below.\n"
          },
          "modem2": {
            "$ref": "#/types/fortios:extendercontroller%2FExtenderModem2:ExtenderModem2",
            "description": "Configuration options for modem 2. The structure of `modem2` block is documented below.\n"
          },
          "modemPasswd": {
            "type": "string",
            "description": "MODEM password.\n",
            "secret": true
          },
          "modemType": {
            "type": "string",
            "description": "MODEM type (CDMA, GSM/LTE or WIMAX). Valid values: `cdma`, `gsm/lte`, `wimax`.\n"
          },
          "multiMode": {
            "type": "string",
            "description": "MODEM mode of operation(3G,LTE,etc). Valid values: `auto`, `auto-3g`, `force-lte`, `force-3g`, `force-2g`.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiExtender entry name.\n"
          },
          "overrideAllowaccess": {
            "type": "string",
            "description": "Enable to override the extender profile management access configuration. Valid values: `enable`, `disable`.\n"
          },
          "overrideEnforceBandwidth": {
            "type": "string",
            "description": "Enable to override the extender profile enforce-bandwidth setting. Valid values: `enable`, `disable`.\n"
          },
          "overrideLoginPasswordChange": {
            "type": "string",
            "description": "Enable to override the extender profile login-password (administrator password) setting. Valid values: `enable`, `disable`.\n"
          },
          "pppAuthProtocol": {
            "type": "string",
            "description": "PPP authentication protocol (PAP,CHAP or auto). Valid values: `auto`, `pap`, `chap`.\n"
          },
          "pppEchoRequest": {
            "type": "string",
            "description": "Enable/disable PPP echo request. Valid values: `enable`, `disable`.\n"
          },
          "pppPassword": {
            "type": "string",
            "description": "PPP password.\n",
            "secret": true
          },
          "pppUsername": {
            "type": "string",
            "description": "PPP username.\n"
          },
          "primaryHa": {
            "type": "string",
            "description": "Primary HA.\n"
          },
          "profile": {
            "type": "string",
            "description": "FortiExtender profile configuration.\n"
          },
          "quotaLimitMb": {
            "type": "integer",
            "description": "Monthly quota limit (MB).\n"
          },
          "redial": {
            "type": "string",
            "description": "Number of redials allowed based on failed attempts. Valid values: `none`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`.\n"
          },
          "redundantIntf": {
            "type": "string",
            "description": "Redundant interface.\n"
          },
          "roaming": {
            "type": "string",
            "description": "Enable/disable MODEM roaming. Valid values: `enable`, `disable`.\n"
          },
          "role": {
            "type": "string",
            "description": "FortiExtender work role(Primary, Secondary, None). Valid values: `none`, `primary`, `secondary`.\n"
          },
          "secondaryHa": {
            "type": "string",
            "description": "Secondary HA.\n"
          },
          "simPin": {
            "type": "string",
            "description": "SIM PIN.\n",
            "secret": true
          },
          "vdom": {
            "type": "integer",
            "description": "VDOM\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "wanExtension": {
            "$ref": "#/types/fortios:extendercontroller%2FExtenderWanExtension:ExtenderWanExtension",
            "description": "FortiExtender wan extension configuration. The structure of `wan_extension` block is documented below.\n"
          },
          "wimaxAuthProtocol": {
            "type": "string",
            "description": "WiMax authentication protocol(TLS or TTLS). Valid values: `tls`, `ttls`.\n"
          },
          "wimaxCarrier": {
            "type": "string",
            "description": "WiMax carrier.\n"
          },
          "wimaxRealm": {
            "type": "string",
            "description": "WiMax realm.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:extendercontroller/extenderprofile:Extenderprofile": {
      "description": "FortiExtender extender profile configuration. Applies to FortiOS Version `7.0.2,7.0.3,7.0.4,7.0.5,7.0.6,7.0.7,7.0.8,7.0.9,7.0.10,7.0.11,7.0.12,7.0.13,7.0.14,7.0.15,7.2.0`.\n\n## Import\n\nExtenderController ExtenderProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:extendercontroller/extenderprofile:Extenderprofile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:extendercontroller/extenderprofile:Extenderprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
        },
        "bandwidthLimit": {
          "type": "integer",
          "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
        },
        "cellular": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellular:ExtenderprofileCellular",
          "description": "FortiExtender cellular configuration. The structure of `cellular` block is documented below.\n"
        },
        "enforceBandwidth": {
          "type": "string",
          "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
        },
        "extension": {
          "type": "string",
          "description": "Extension option. Valid values: `wan-extension`, `lan-extension`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "id\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "lanExtension": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileLanExtension:ExtenderprofileLanExtension",
          "description": "FortiExtender lan extension configuration. The structure of `lan_extension` block is documented below.\n"
        },
        "loginPassword": {
          "type": "string",
          "description": "Set the managed extender's administrator password.\n"
        },
        "loginPasswordChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "model": {
          "type": "string",
          "description": "Model.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender profile name\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "allowaccess",
        "bandwidthLimit",
        "cellular",
        "enforceBandwidth",
        "extension",
        "fosid",
        "lanExtension",
        "loginPasswordChange",
        "model",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
        },
        "bandwidthLimit": {
          "type": "integer",
          "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
        },
        "cellular": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellular:ExtenderprofileCellular",
          "description": "FortiExtender cellular configuration. The structure of `cellular` block is documented below.\n"
        },
        "enforceBandwidth": {
          "type": "string",
          "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
        },
        "extension": {
          "type": "string",
          "description": "Extension option. Valid values: `wan-extension`, `lan-extension`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "id\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "lanExtension": {
          "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileLanExtension:ExtenderprofileLanExtension",
          "description": "FortiExtender lan extension configuration. The structure of `lan_extension` block is documented below.\n"
        },
        "loginPassword": {
          "type": "string",
          "description": "Set the managed extender's administrator password.\n"
        },
        "loginPasswordChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "model": {
          "type": "string",
          "description": "Model.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender profile name\n",
          "willReplaceOnChanges": true
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Extenderprofile resources.\n",
        "properties": {
          "allowaccess": {
            "type": "string",
            "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
          },
          "bandwidthLimit": {
            "type": "integer",
            "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
          },
          "cellular": {
            "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileCellular:ExtenderprofileCellular",
            "description": "FortiExtender cellular configuration. The structure of `cellular` block is documented below.\n"
          },
          "enforceBandwidth": {
            "type": "string",
            "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
          },
          "extension": {
            "type": "string",
            "description": "Extension option. Valid values: `wan-extension`, `lan-extension`.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "id\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "lanExtension": {
            "$ref": "#/types/fortios:extendercontroller%2FExtenderprofileLanExtension:ExtenderprofileLanExtension",
            "description": "FortiExtender lan extension configuration. The structure of `lan_extension` block is documented below.\n"
          },
          "loginPassword": {
            "type": "string",
            "description": "Set the managed extender's administrator password.\n"
          },
          "loginPasswordChange": {
            "type": "string",
            "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
          },
          "model": {
            "type": "string",
            "description": "Model.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiExtender profile name\n",
            "willReplaceOnChanges": true
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:extensioncontroller/dataplan:Dataplan": {
      "description": "FortiExtender dataplan configuration. Applies to FortiOS Version `>= 7.2.1`.\n\n## Import\n\nExtensionController Dataplan can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:extensioncontroller/dataplan:Dataplan labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:extensioncontroller/dataplan:Dataplan labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "apn": {
          "type": "string",
          "description": "APN configuration.\n"
        },
        "authType": {
          "type": "string",
          "description": "Authentication type. Valid values: `none`, `pap`, `chap`.\n"
        },
        "billingDate": {
          "type": "integer",
          "description": "Billing day of the month (1 - 31).\n"
        },
        "capacity": {
          "type": "integer",
          "description": "Capacity in MB (0 - 102400000).\n"
        },
        "carrier": {
          "type": "string",
          "description": "Carrier configuration.\n"
        },
        "iccid": {
          "type": "string",
          "description": "ICCID configuration.\n"
        },
        "modemId": {
          "type": "string",
          "description": "Dataplan's modem specifics, if any. Valid values: `modem1`, `modem2`, `all`.\n"
        },
        "monthlyFee": {
          "type": "integer",
          "description": "Monthly fee of dataplan (0 - 100000, in local currency).\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender data plan name.\n"
        },
        "overage": {
          "type": "string",
          "description": "Enable/disable dataplan overage detection. Valid values: `disable`, `enable`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password.\n"
        },
        "pdn": {
          "type": "string",
          "description": "PDN type. Valid values: `ipv4-only`, `ipv6-only`, `ipv4-ipv6`.\n"
        },
        "preferredSubnet": {
          "type": "integer",
          "description": "Preferred subnet mask (0 - 32).\n"
        },
        "privateNetwork": {
          "type": "string",
          "description": "Enable/disable dataplan private network support. Valid values: `disable`, `enable`.\n"
        },
        "signalPeriod": {
          "type": "integer",
          "description": "Signal period (600 to 18000 seconds).\n"
        },
        "signalThreshold": {
          "type": "integer",
          "description": "Signal threshold. Specify the range between 50 - 100, where 50/100 means -50/-100 dBm.\n"
        },
        "slot": {
          "type": "string",
          "description": "SIM slot configuration. Valid values: `sim1`, `sim2`.\n"
        },
        "type": {
          "type": "string",
          "description": "Type preferences configuration. Valid values: `carrier`, `slot`, `iccid`, `generic`.\n"
        },
        "username": {
          "type": "string",
          "description": "Username.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "apn",
        "authType",
        "billingDate",
        "capacity",
        "carrier",
        "iccid",
        "modemId",
        "monthlyFee",
        "name",
        "overage",
        "pdn",
        "preferredSubnet",
        "privateNetwork",
        "signalPeriod",
        "signalThreshold",
        "slot",
        "type",
        "username",
        "vdomparam"
      ],
      "inputProperties": {
        "apn": {
          "type": "string",
          "description": "APN configuration.\n"
        },
        "authType": {
          "type": "string",
          "description": "Authentication type. Valid values: `none`, `pap`, `chap`.\n"
        },
        "billingDate": {
          "type": "integer",
          "description": "Billing day of the month (1 - 31).\n"
        },
        "capacity": {
          "type": "integer",
          "description": "Capacity in MB (0 - 102400000).\n"
        },
        "carrier": {
          "type": "string",
          "description": "Carrier configuration.\n"
        },
        "iccid": {
          "type": "string",
          "description": "ICCID configuration.\n"
        },
        "modemId": {
          "type": "string",
          "description": "Dataplan's modem specifics, if any. Valid values: `modem1`, `modem2`, `all`.\n"
        },
        "monthlyFee": {
          "type": "integer",
          "description": "Monthly fee of dataplan (0 - 100000, in local currency).\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender data plan name.\n",
          "willReplaceOnChanges": true
        },
        "overage": {
          "type": "string",
          "description": "Enable/disable dataplan overage detection. Valid values: `disable`, `enable`.\n"
        },
        "password": {
          "type": "string",
          "description": "Password.\n"
        },
        "pdn": {
          "type": "string",
          "description": "PDN type. Valid values: `ipv4-only`, `ipv6-only`, `ipv4-ipv6`.\n"
        },
        "preferredSubnet": {
          "type": "integer",
          "description": "Preferred subnet mask (0 - 32).\n"
        },
        "privateNetwork": {
          "type": "string",
          "description": "Enable/disable dataplan private network support. Valid values: `disable`, `enable`.\n"
        },
        "signalPeriod": {
          "type": "integer",
          "description": "Signal period (600 to 18000 seconds).\n"
        },
        "signalThreshold": {
          "type": "integer",
          "description": "Signal threshold. Specify the range between 50 - 100, where 50/100 means -50/-100 dBm.\n"
        },
        "slot": {
          "type": "string",
          "description": "SIM slot configuration. Valid values: `sim1`, `sim2`.\n"
        },
        "type": {
          "type": "string",
          "description": "Type preferences configuration. Valid values: `carrier`, `slot`, `iccid`, `generic`.\n"
        },
        "username": {
          "type": "string",
          "description": "Username.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Dataplan resources.\n",
        "properties": {
          "apn": {
            "type": "string",
            "description": "APN configuration.\n"
          },
          "authType": {
            "type": "string",
            "description": "Authentication type. Valid values: `none`, `pap`, `chap`.\n"
          },
          "billingDate": {
            "type": "integer",
            "description": "Billing day of the month (1 - 31).\n"
          },
          "capacity": {
            "type": "integer",
            "description": "Capacity in MB (0 - 102400000).\n"
          },
          "carrier": {
            "type": "string",
            "description": "Carrier configuration.\n"
          },
          "iccid": {
            "type": "string",
            "description": "ICCID configuration.\n"
          },
          "modemId": {
            "type": "string",
            "description": "Dataplan's modem specifics, if any. Valid values: `modem1`, `modem2`, `all`.\n"
          },
          "monthlyFee": {
            "type": "integer",
            "description": "Monthly fee of dataplan (0 - 100000, in local currency).\n"
          },
          "name": {
            "type": "string",
            "description": "FortiExtender data plan name.\n",
            "willReplaceOnChanges": true
          },
          "overage": {
            "type": "string",
            "description": "Enable/disable dataplan overage detection. Valid values: `disable`, `enable`.\n"
          },
          "password": {
            "type": "string",
            "description": "Password.\n"
          },
          "pdn": {
            "type": "string",
            "description": "PDN type. Valid values: `ipv4-only`, `ipv6-only`, `ipv4-ipv6`.\n"
          },
          "preferredSubnet": {
            "type": "integer",
            "description": "Preferred subnet mask (0 - 32).\n"
          },
          "privateNetwork": {
            "type": "string",
            "description": "Enable/disable dataplan private network support. Valid values: `disable`, `enable`.\n"
          },
          "signalPeriod": {
            "type": "integer",
            "description": "Signal period (600 to 18000 seconds).\n"
          },
          "signalThreshold": {
            "type": "integer",
            "description": "Signal threshold. Specify the range between 50 - 100, where 50/100 means -50/-100 dBm.\n"
          },
          "slot": {
            "type": "string",
            "description": "SIM slot configuration. Valid values: `sim1`, `sim2`.\n"
          },
          "type": {
            "type": "string",
            "description": "Type preferences configuration. Valid values: `carrier`, `slot`, `iccid`, `generic`.\n"
          },
          "username": {
            "type": "string",
            "description": "Username.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:extensioncontroller/extender:Extender": {
      "description": "Extender controller configuration.\nThe resource applies to FortiOS Version >= 7.2.1. For FortiOS version < 7.2.1, see `fortios.extendercontroller.Extender`\n\n## Import\n\nExtensionController Extender can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:extensioncontroller/extender:Extender labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:extensioncontroller/extender:Extender labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
        },
        "authorized": {
          "type": "string",
          "description": "FortiExtender Administration (enable or disable).\n"
        },
        "bandwidthLimit": {
          "type": "integer",
          "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceId": {
          "type": "integer",
          "description": "Device ID.\n"
        },
        "enforceBandwidth": {
          "type": "string",
          "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
        },
        "extName": {
          "type": "string",
          "description": "FortiExtender name.\n"
        },
        "extensionType": {
          "type": "string",
          "description": "Extension type for this FortiExtender. Valid values: `wan-extension`, `lan-extension`.\n"
        },
        "firmwareProvisionLatest": {
          "type": "string",
          "description": "Enable/disable one-time automatic provisioning of the latest firmware version. Valid values: `disable`, `once`.\n"
        },
        "fosid": {
          "type": "string",
          "description": "FortiExtender serial number.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "loginPassword": {
          "type": "string",
          "description": "Set the managed extender's administrator password.\n"
        },
        "loginPasswordChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender entry name.\n"
        },
        "overrideAllowaccess": {
          "type": "string",
          "description": "Enable to override the extender profile management access configuration. Valid values: `enable`, `disable`.\n"
        },
        "overrideEnforceBandwidth": {
          "type": "string",
          "description": "Enable to override the extender profile enforce-bandwidth setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideLoginPasswordChange": {
          "type": "string",
          "description": "Enable to override the extender profile login-password (administrator password) setting. Valid values: `enable`, `disable`.\n"
        },
        "profile": {
          "type": "string",
          "description": "FortiExtender profile configuration.\n"
        },
        "vdom": {
          "type": "integer",
          "description": "VDOM.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "wanExtension": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderWanExtension:ExtenderWanExtension",
          "description": "FortiExtender wan extension configuration. The structure of `wan_extension` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "allowaccess",
        "authorized",
        "bandwidthLimit",
        "description",
        "deviceId",
        "enforceBandwidth",
        "extName",
        "extensionType",
        "firmwareProvisionLatest",
        "fosid",
        "loginPasswordChange",
        "name",
        "overrideAllowaccess",
        "overrideEnforceBandwidth",
        "overrideLoginPasswordChange",
        "profile",
        "vdom",
        "vdomparam",
        "wanExtension"
      ],
      "inputProperties": {
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
        },
        "authorized": {
          "type": "string",
          "description": "FortiExtender Administration (enable or disable).\n"
        },
        "bandwidthLimit": {
          "type": "integer",
          "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceId": {
          "type": "integer",
          "description": "Device ID.\n"
        },
        "enforceBandwidth": {
          "type": "string",
          "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
        },
        "extName": {
          "type": "string",
          "description": "FortiExtender name.\n"
        },
        "extensionType": {
          "type": "string",
          "description": "Extension type for this FortiExtender. Valid values: `wan-extension`, `lan-extension`.\n"
        },
        "firmwareProvisionLatest": {
          "type": "string",
          "description": "Enable/disable one-time automatic provisioning of the latest firmware version. Valid values: `disable`, `once`.\n"
        },
        "fosid": {
          "type": "string",
          "description": "FortiExtender serial number.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "loginPassword": {
          "type": "string",
          "description": "Set the managed extender's administrator password.\n"
        },
        "loginPasswordChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender entry name.\n",
          "willReplaceOnChanges": true
        },
        "overrideAllowaccess": {
          "type": "string",
          "description": "Enable to override the extender profile management access configuration. Valid values: `enable`, `disable`.\n"
        },
        "overrideEnforceBandwidth": {
          "type": "string",
          "description": "Enable to override the extender profile enforce-bandwidth setting. Valid values: `enable`, `disable`.\n"
        },
        "overrideLoginPasswordChange": {
          "type": "string",
          "description": "Enable to override the extender profile login-password (administrator password) setting. Valid values: `enable`, `disable`.\n"
        },
        "profile": {
          "type": "string",
          "description": "FortiExtender profile configuration.\n"
        },
        "vdom": {
          "type": "integer",
          "description": "VDOM.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "wanExtension": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderWanExtension:ExtenderWanExtension",
          "description": "FortiExtender wan extension configuration. The structure of `wan_extension` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Extender resources.\n",
        "properties": {
          "allowaccess": {
            "type": "string",
            "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
          },
          "authorized": {
            "type": "string",
            "description": "FortiExtender Administration (enable or disable).\n"
          },
          "bandwidthLimit": {
            "type": "integer",
            "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "deviceId": {
            "type": "integer",
            "description": "Device ID.\n"
          },
          "enforceBandwidth": {
            "type": "string",
            "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
          },
          "extName": {
            "type": "string",
            "description": "FortiExtender name.\n"
          },
          "extensionType": {
            "type": "string",
            "description": "Extension type for this FortiExtender. Valid values: `wan-extension`, `lan-extension`.\n"
          },
          "firmwareProvisionLatest": {
            "type": "string",
            "description": "Enable/disable one-time automatic provisioning of the latest firmware version. Valid values: `disable`, `once`.\n"
          },
          "fosid": {
            "type": "string",
            "description": "FortiExtender serial number.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "loginPassword": {
            "type": "string",
            "description": "Set the managed extender's administrator password.\n"
          },
          "loginPasswordChange": {
            "type": "string",
            "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiExtender entry name.\n",
            "willReplaceOnChanges": true
          },
          "overrideAllowaccess": {
            "type": "string",
            "description": "Enable to override the extender profile management access configuration. Valid values: `enable`, `disable`.\n"
          },
          "overrideEnforceBandwidth": {
            "type": "string",
            "description": "Enable to override the extender profile enforce-bandwidth setting. Valid values: `enable`, `disable`.\n"
          },
          "overrideLoginPasswordChange": {
            "type": "string",
            "description": "Enable to override the extender profile login-password (administrator password) setting. Valid values: `enable`, `disable`.\n"
          },
          "profile": {
            "type": "string",
            "description": "FortiExtender profile configuration.\n"
          },
          "vdom": {
            "type": "integer",
            "description": "VDOM.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "wanExtension": {
            "$ref": "#/types/fortios:extensioncontroller%2FExtenderWanExtension:ExtenderWanExtension",
            "description": "FortiExtender wan extension configuration. The structure of `wan_extension` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:extensioncontroller/extenderprofile:Extenderprofile": {
      "description": "FortiExtender extender profile configuration. Applies to FortiOS Version `>= 7.2.1`.\n\n## Import\n\nExtensionController ExtenderProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:extensioncontroller/extenderprofile:Extenderprofile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:extensioncontroller/extenderprofile:Extenderprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
        },
        "bandwidthLimit": {
          "type": "integer",
          "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
        },
        "cellular": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellular:ExtenderprofileCellular",
          "description": "FortiExtender cellular configuration. The structure of `cellular` block is documented below.\n"
        },
        "enforceBandwidth": {
          "type": "string",
          "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
        },
        "extension": {
          "type": "string",
          "description": "Extension option. Valid values: `wan-extension`, `lan-extension`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "lanExtension": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileLanExtension:ExtenderprofileLanExtension",
          "description": "FortiExtender lan extension configuration. The structure of `lan_extension` block is documented below.\n"
        },
        "loginPassword": {
          "type": "string",
          "description": "Set the managed extender's administrator password.\n"
        },
        "loginPasswordChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "model": {
          "type": "string",
          "description": "Model.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender profile name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "wifi": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileWifi:ExtenderprofileWifi",
          "description": "FortiExtender wifi configuration. The structure of `wifi` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "allowaccess",
        "bandwidthLimit",
        "cellular",
        "enforceBandwidth",
        "extension",
        "fosid",
        "lanExtension",
        "loginPasswordChange",
        "model",
        "name",
        "vdomparam",
        "wifi"
      ],
      "inputProperties": {
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
        },
        "bandwidthLimit": {
          "type": "integer",
          "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
        },
        "cellular": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellular:ExtenderprofileCellular",
          "description": "FortiExtender cellular configuration. The structure of `cellular` block is documented below.\n"
        },
        "enforceBandwidth": {
          "type": "string",
          "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
        },
        "extension": {
          "type": "string",
          "description": "Extension option. Valid values: `wan-extension`, `lan-extension`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "lanExtension": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileLanExtension:ExtenderprofileLanExtension",
          "description": "FortiExtender lan extension configuration. The structure of `lan_extension` block is documented below.\n"
        },
        "loginPassword": {
          "type": "string",
          "description": "Set the managed extender's administrator password.\n"
        },
        "loginPasswordChange": {
          "type": "string",
          "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
        },
        "model": {
          "type": "string",
          "description": "Model.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiExtender profile name.\n",
          "willReplaceOnChanges": true
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "wifi": {
          "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileWifi:ExtenderprofileWifi",
          "description": "FortiExtender wifi configuration. The structure of `wifi` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Extenderprofile resources.\n",
        "properties": {
          "allowaccess": {
            "type": "string",
            "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
          },
          "bandwidthLimit": {
            "type": "integer",
            "description": "FortiExtender LAN extension bandwidth limit (Mbps).\n"
          },
          "cellular": {
            "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileCellular:ExtenderprofileCellular",
            "description": "FortiExtender cellular configuration. The structure of `cellular` block is documented below.\n"
          },
          "enforceBandwidth": {
            "type": "string",
            "description": "Enable/disable enforcement of bandwidth on LAN extension interface. Valid values: `enable`, `disable`.\n"
          },
          "extension": {
            "type": "string",
            "description": "Extension option. Valid values: `wan-extension`, `lan-extension`.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "lanExtension": {
            "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileLanExtension:ExtenderprofileLanExtension",
            "description": "FortiExtender lan extension configuration. The structure of `lan_extension` block is documented below.\n"
          },
          "loginPassword": {
            "type": "string",
            "description": "Set the managed extender's administrator password.\n"
          },
          "loginPasswordChange": {
            "type": "string",
            "description": "Change or reset the administrator password of a managed extender (yes, default, or no, default = no). Valid values: `yes`, `default`, `no`.\n"
          },
          "model": {
            "type": "string",
            "description": "Model.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiExtender profile name.\n",
            "willReplaceOnChanges": true
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "wifi": {
            "$ref": "#/types/fortios:extensioncontroller%2FExtenderprofileWifi:ExtenderprofileWifi",
            "description": "FortiExtender wifi configuration. The structure of `wifi` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:extensioncontroller/extendervap:Extendervap": {
      "description": "FortiExtender wifi vap configuration. Applies to FortiOS Version `>= 7.4.4`.\n\n## Import\n\nExtensionController ExtenderVap can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:extensioncontroller/extendervap:Extendervap labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:extensioncontroller/extendervap:Extendervap labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
        },
        "authServerAddress": {
          "type": "string",
          "description": "Wi-Fi Authentication Server Address (IPv4 format).\n"
        },
        "authServerPort": {
          "type": "integer",
          "description": "Wi-Fi Authentication Server Port.\n"
        },
        "authServerSecret": {
          "type": "string",
          "description": "Wi-Fi Authentication Server Secret.\n"
        },
        "broadcastSsid": {
          "type": "string",
          "description": "Wi-Fi broadcast SSID enable / disable. Valid values: `disable`, `enable`.\n"
        },
        "bssColorPartial": {
          "type": "string",
          "description": "Wi-Fi 802.11AX bss color partial enable / disable, default = enable. Valid values: `disable`, `enable`.\n"
        },
        "dtim": {
          "type": "integer",
          "description": "Wi-Fi DTIM (1 - 255) default = 1.\n"
        },
        "endIp": {
          "type": "string",
          "description": "End ip address.\n"
        },
        "ipAddress": {
          "type": "string",
          "description": "Extender ip address.\n"
        },
        "maxClients": {
          "type": "integer",
          "description": "Wi-Fi max clients (0 - 512), default = 0 (no limit)\n"
        },
        "muMimo": {
          "type": "string",
          "description": "Wi-Fi multi-user MIMO enable / disable, default = enable. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Wi-Fi VAP name.\n"
        },
        "passphrase": {
          "type": "string",
          "description": "Wi-Fi passphrase.\n"
        },
        "pmf": {
          "type": "string",
          "description": "Wi-Fi pmf enable/disable, default = disable. Valid values: `disabled`, `optional`, `required`.\n"
        },
        "rtsThreshold": {
          "type": "integer",
          "description": "Wi-Fi RTS Threshold (256 - 2347), default = 2347 (RTS/CTS disabled).\n"
        },
        "saePassword": {
          "type": "string",
          "description": "Wi-Fi SAE Password.\n"
        },
        "security": {
          "type": "string",
          "description": "Wi-Fi security. Valid values: `OPEN`, `WPA2-Personal`, `WPA-WPA2-Personal`, `WPA3-SAE`, `WPA3-SAE-Transition`, `WPA2-Enterprise`, `WPA3-Enterprise-only`, `WPA3-Enterprise-transition`, `WPA3-Enterprise-192-bit`.\n"
        },
        "ssid": {
          "type": "string",
          "description": "Wi-Fi SSID.\n"
        },
        "startIp": {
          "type": "string",
          "description": "Start ip address.\n"
        },
        "targetWakeTime": {
          "type": "string",
          "description": "Wi-Fi 802.11AX target wake time enable / disable, default = enable. Valid values: `disable`, `enable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Wi-Fi VAP type local-vap / lan-extension-vap. Valid values: `local-vap`, `lan-ext-vap`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "allowaccess",
        "authServerAddress",
        "authServerPort",
        "authServerSecret",
        "broadcastSsid",
        "bssColorPartial",
        "dtim",
        "endIp",
        "ipAddress",
        "maxClients",
        "muMimo",
        "name",
        "pmf",
        "rtsThreshold",
        "security",
        "ssid",
        "startIp",
        "targetWakeTime",
        "type",
        "vdomparam"
      ],
      "inputProperties": {
        "allowaccess": {
          "type": "string",
          "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
        },
        "authServerAddress": {
          "type": "string",
          "description": "Wi-Fi Authentication Server Address (IPv4 format).\n"
        },
        "authServerPort": {
          "type": "integer",
          "description": "Wi-Fi Authentication Server Port.\n"
        },
        "authServerSecret": {
          "type": "string",
          "description": "Wi-Fi Authentication Server Secret.\n"
        },
        "broadcastSsid": {
          "type": "string",
          "description": "Wi-Fi broadcast SSID enable / disable. Valid values: `disable`, `enable`.\n"
        },
        "bssColorPartial": {
          "type": "string",
          "description": "Wi-Fi 802.11AX bss color partial enable / disable, default = enable. Valid values: `disable`, `enable`.\n"
        },
        "dtim": {
          "type": "integer",
          "description": "Wi-Fi DTIM (1 - 255) default = 1.\n"
        },
        "endIp": {
          "type": "string",
          "description": "End ip address.\n"
        },
        "ipAddress": {
          "type": "string",
          "description": "Extender ip address.\n"
        },
        "maxClients": {
          "type": "integer",
          "description": "Wi-Fi max clients (0 - 512), default = 0 (no limit)\n"
        },
        "muMimo": {
          "type": "string",
          "description": "Wi-Fi multi-user MIMO enable / disable, default = enable. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Wi-Fi VAP name.\n",
          "willReplaceOnChanges": true
        },
        "passphrase": {
          "type": "string",
          "description": "Wi-Fi passphrase.\n"
        },
        "pmf": {
          "type": "string",
          "description": "Wi-Fi pmf enable/disable, default = disable. Valid values: `disabled`, `optional`, `required`.\n"
        },
        "rtsThreshold": {
          "type": "integer",
          "description": "Wi-Fi RTS Threshold (256 - 2347), default = 2347 (RTS/CTS disabled).\n"
        },
        "saePassword": {
          "type": "string",
          "description": "Wi-Fi SAE Password.\n"
        },
        "security": {
          "type": "string",
          "description": "Wi-Fi security. Valid values: `OPEN`, `WPA2-Personal`, `WPA-WPA2-Personal`, `WPA3-SAE`, `WPA3-SAE-Transition`, `WPA2-Enterprise`, `WPA3-Enterprise-only`, `WPA3-Enterprise-transition`, `WPA3-Enterprise-192-bit`.\n"
        },
        "ssid": {
          "type": "string",
          "description": "Wi-Fi SSID.\n"
        },
        "startIp": {
          "type": "string",
          "description": "Start ip address.\n"
        },
        "targetWakeTime": {
          "type": "string",
          "description": "Wi-Fi 802.11AX target wake time enable / disable, default = enable. Valid values: `disable`, `enable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Wi-Fi VAP type local-vap / lan-extension-vap. Valid values: `local-vap`, `lan-ext-vap`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Extendervap resources.\n",
        "properties": {
          "allowaccess": {
            "type": "string",
            "description": "Control management access to the managed extender. Separate entries with a space. Valid values: `ping`, `telnet`, `http`, `https`, `ssh`, `snmp`.\n"
          },
          "authServerAddress": {
            "type": "string",
            "description": "Wi-Fi Authentication Server Address (IPv4 format).\n"
          },
          "authServerPort": {
            "type": "integer",
            "description": "Wi-Fi Authentication Server Port.\n"
          },
          "authServerSecret": {
            "type": "string",
            "description": "Wi-Fi Authentication Server Secret.\n"
          },
          "broadcastSsid": {
            "type": "string",
            "description": "Wi-Fi broadcast SSID enable / disable. Valid values: `disable`, `enable`.\n"
          },
          "bssColorPartial": {
            "type": "string",
            "description": "Wi-Fi 802.11AX bss color partial enable / disable, default = enable. Valid values: `disable`, `enable`.\n"
          },
          "dtim": {
            "type": "integer",
            "description": "Wi-Fi DTIM (1 - 255) default = 1.\n"
          },
          "endIp": {
            "type": "string",
            "description": "End ip address.\n"
          },
          "ipAddress": {
            "type": "string",
            "description": "Extender ip address.\n"
          },
          "maxClients": {
            "type": "integer",
            "description": "Wi-Fi max clients (0 - 512), default = 0 (no limit)\n"
          },
          "muMimo": {
            "type": "string",
            "description": "Wi-Fi multi-user MIMO enable / disable, default = enable. Valid values: `disable`, `enable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Wi-Fi VAP name.\n",
            "willReplaceOnChanges": true
          },
          "passphrase": {
            "type": "string",
            "description": "Wi-Fi passphrase.\n"
          },
          "pmf": {
            "type": "string",
            "description": "Wi-Fi pmf enable/disable, default = disable. Valid values: `disabled`, `optional`, `required`.\n"
          },
          "rtsThreshold": {
            "type": "integer",
            "description": "Wi-Fi RTS Threshold (256 - 2347), default = 2347 (RTS/CTS disabled).\n"
          },
          "saePassword": {
            "type": "string",
            "description": "Wi-Fi SAE Password.\n"
          },
          "security": {
            "type": "string",
            "description": "Wi-Fi security. Valid values: `OPEN`, `WPA2-Personal`, `WPA-WPA2-Personal`, `WPA3-SAE`, `WPA3-SAE-Transition`, `WPA2-Enterprise`, `WPA3-Enterprise-only`, `WPA3-Enterprise-transition`, `WPA3-Enterprise-192-bit`.\n"
          },
          "ssid": {
            "type": "string",
            "description": "Wi-Fi SSID.\n"
          },
          "startIp": {
            "type": "string",
            "description": "Start ip address.\n"
          },
          "targetWakeTime": {
            "type": "string",
            "description": "Wi-Fi 802.11AX target wake time enable / disable, default = enable. Valid values: `disable`, `enable`.\n"
          },
          "type": {
            "type": "string",
            "description": "Wi-Fi VAP type local-vap / lan-extension-vap. Valid values: `local-vap`, `lan-ext-vap`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:extensioncontroller/fortigate:Fortigate": {
      "description": "FortiGate controller configuration. Applies to FortiOS Version `>= 7.2.1`.\n\n## Import\n\nExtensionController Fortigate can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:extensioncontroller/fortigate:Fortigate labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:extensioncontroller/fortigate:Fortigate labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authorized": {
          "type": "string",
          "description": "Enable/disable FortiGate administration.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceId": {
          "type": "integer",
          "description": "device-id\n"
        },
        "fosid": {
          "type": "string",
          "description": "FortiGate serial number.\n"
        },
        "hostname": {
          "type": "string",
          "description": "FortiGate hostname.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiGate entry name.\n"
        },
        "profile": {
          "type": "string",
          "description": "FortiGate profile configuration.\n"
        },
        "vdom": {
          "type": "integer",
          "description": "VDOM.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "authorized",
        "description",
        "deviceId",
        "fosid",
        "hostname",
        "name",
        "profile",
        "vdom",
        "vdomparam"
      ],
      "inputProperties": {
        "authorized": {
          "type": "string",
          "description": "Enable/disable FortiGate administration.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceId": {
          "type": "integer",
          "description": "device-id\n"
        },
        "fosid": {
          "type": "string",
          "description": "FortiGate serial number.\n"
        },
        "hostname": {
          "type": "string",
          "description": "FortiGate hostname.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiGate entry name.\n",
          "willReplaceOnChanges": true
        },
        "profile": {
          "type": "string",
          "description": "FortiGate profile configuration.\n"
        },
        "vdom": {
          "type": "integer",
          "description": "VDOM.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fortigate resources.\n",
        "properties": {
          "authorized": {
            "type": "string",
            "description": "Enable/disable FortiGate administration.\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "deviceId": {
            "type": "integer",
            "description": "device-id\n"
          },
          "fosid": {
            "type": "string",
            "description": "FortiGate serial number.\n"
          },
          "hostname": {
            "type": "string",
            "description": "FortiGate hostname.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiGate entry name.\n",
            "willReplaceOnChanges": true
          },
          "profile": {
            "type": "string",
            "description": "FortiGate profile configuration.\n"
          },
          "vdom": {
            "type": "integer",
            "description": "VDOM.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:extensioncontroller/fortigateprofile:Fortigateprofile": {
      "description": "FortiGate connector profile configuration. Applies to FortiOS Version `>= 7.2.1`.\n\n## Import\n\nExtensionController FortigateProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:extensioncontroller/fortigateprofile:Fortigateprofile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:extensioncontroller/fortigateprofile:Fortigateprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "extension": {
          "type": "string",
          "description": "Extension option. Valid values: `lan-extension`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "lanExtension": {
          "$ref": "#/types/fortios:extensioncontroller%2FFortigateprofileLanExtension:FortigateprofileLanExtension",
          "description": "FortiGate connector LAN extension configuration. The structure of `lan_extension` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiGate connector profile name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "extension",
        "fosid",
        "lanExtension",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "extension": {
          "type": "string",
          "description": "Extension option. Valid values: `lan-extension`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "lanExtension": {
          "$ref": "#/types/fortios:extensioncontroller%2FFortigateprofileLanExtension:FortigateprofileLanExtension",
          "description": "FortiGate connector LAN extension configuration. The structure of `lan_extension` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "FortiGate connector profile name.\n",
          "willReplaceOnChanges": true
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fortigateprofile resources.\n",
        "properties": {
          "extension": {
            "type": "string",
            "description": "Extension option. Valid values: `lan-extension`.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "lanExtension": {
            "$ref": "#/types/fortios:extensioncontroller%2FFortigateprofileLanExtension:FortigateprofileLanExtension",
            "description": "FortiGate connector LAN extension configuration. The structure of `lan_extension` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "FortiGate connector profile name.\n",
            "willReplaceOnChanges": true
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/dns/domainfilter:Domainfilter": {
      "description": "Configure DNS domain filters.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.dns.Domainfilter(\"trname\", {\n    entries: [{\n        action: \"block\",\n        domain: \"bac.com\",\n        id: 1,\n        status: \"enable\",\n        type: \"simple\",\n    }],\n    fosid: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.dns.Domainfilter(\"trname\",\n    entries=[fortios.filter.dns.DomainfilterEntryArgs(\n        action=\"block\",\n        domain=\"bac.com\",\n        id=1,\n        status=\"enable\",\n        type=\"simple\",\n    )],\n    fosid=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Dns.Domainfilter(\"trname\", new()\n    {\n        Entries = new[]\n        {\n            new Fortios.Filter.Dns.Inputs.DomainfilterEntryArgs\n            {\n                Action = \"block\",\n                Domain = \"bac.com\",\n                Id = 1,\n                Status = \"enable\",\n                Type = \"simple\",\n            },\n        },\n        Fosid = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewDomainfilter(ctx, \"trname\", &filter.DomainfilterArgs{\n\t\t\tEntries: dns.DomainfilterEntryArray{\n\t\t\t\t&dns.DomainfilterEntryArgs{\n\t\t\t\t\tAction: pulumi.String(\"block\"),\n\t\t\t\t\tDomain: pulumi.String(\"bac.com\"),\n\t\t\t\t\tId:     pulumi.Int(1),\n\t\t\t\t\tStatus: pulumi.String(\"enable\"),\n\t\t\t\t\tType:   pulumi.String(\"simple\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFosid: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Domainfilter;\nimport com.pulumi.fortios.filter.DomainfilterArgs;\nimport com.pulumi.fortios.filter.inputs.DomainfilterEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Domainfilter(\"trname\", DomainfilterArgs.builder()\n            .entries(DomainfilterEntryArgs.builder()\n                .action(\"block\")\n                .domain(\"bac.com\")\n                .id(1)\n                .status(\"enable\")\n                .type(\"simple\")\n                .build())\n            .fosid(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/dns:Domainfilter\n    properties:\n      entries:\n        - action: block\n          domain: bac.com\n          id: 1\n          status: enable\n          type: simple\n      fosid: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nDnsfilter DomainFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/dns/domainfilter:Domainfilter labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/dns/domainfilter:Domainfilter labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fdns%2FDomainfilterEntry:DomainfilterEntry"
          },
          "description": "DNS domain filter entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fdns%2FDomainfilterEntry:DomainfilterEntry"
          },
          "description": "DNS domain filter entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Domainfilter resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fdns%2FDomainfilterEntry:DomainfilterEntry"
            },
            "description": "DNS domain filter entries. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/dns/profile:Profile": {
      "description": "Configure DNS domain filter profiles.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.dns.Profile(\"trname\", {\n    blockAction: \"redirect\",\n    blockBotnet: \"disable\",\n    domainFilter: {\n        domainFilterTable: 0,\n    },\n    ftgdDns: {\n        filters: [\n            {\n                action: \"block\",\n                category: 26,\n                id: 1,\n                log: \"enable\",\n            },\n            {\n                action: \"block\",\n                category: 61,\n                id: 2,\n                log: \"enable\",\n            },\n            {\n                action: \"block\",\n                category: 86,\n                id: 3,\n                log: \"enable\",\n            },\n            {\n                action: \"block\",\n                category: 88,\n                id: 4,\n                log: \"enable\",\n            },\n        ],\n    },\n    logAllDomain: \"disable\",\n    redirectPortal: \"0.0.0.0\",\n    safeSearch: \"disable\",\n    sdnsDomainLog: \"enable\",\n    sdnsFtgdErrLog: \"enable\",\n    youtubeRestrict: \"strict\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.dns.Profile(\"trname\",\n    block_action=\"redirect\",\n    block_botnet=\"disable\",\n    domain_filter=fortios.filter.dns.ProfileDomainFilterArgs(\n        domain_filter_table=0,\n    ),\n    ftgd_dns=fortios.filter.dns.ProfileFtgdDnsArgs(\n        filters=[\n            fortios.filter.dns.ProfileFtgdDnsFilterArgs(\n                action=\"block\",\n                category=26,\n                id=1,\n                log=\"enable\",\n            ),\n            fortios.filter.dns.ProfileFtgdDnsFilterArgs(\n                action=\"block\",\n                category=61,\n                id=2,\n                log=\"enable\",\n            ),\n            fortios.filter.dns.ProfileFtgdDnsFilterArgs(\n                action=\"block\",\n                category=86,\n                id=3,\n                log=\"enable\",\n            ),\n            fortios.filter.dns.ProfileFtgdDnsFilterArgs(\n                action=\"block\",\n                category=88,\n                id=4,\n                log=\"enable\",\n            ),\n        ],\n    ),\n    log_all_domain=\"disable\",\n    redirect_portal=\"0.0.0.0\",\n    safe_search=\"disable\",\n    sdns_domain_log=\"enable\",\n    sdns_ftgd_err_log=\"enable\",\n    youtube_restrict=\"strict\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Dns.Profile(\"trname\", new()\n    {\n        BlockAction = \"redirect\",\n        BlockBotnet = \"disable\",\n        DomainFilter = new Fortios.Filter.Dns.Inputs.ProfileDomainFilterArgs\n        {\n            DomainFilterTable = 0,\n        },\n        FtgdDns = new Fortios.Filter.Dns.Inputs.ProfileFtgdDnsArgs\n        {\n            Filters = new[]\n            {\n                new Fortios.Filter.Dns.Inputs.ProfileFtgdDnsFilterArgs\n                {\n                    Action = \"block\",\n                    Category = 26,\n                    Id = 1,\n                    Log = \"enable\",\n                },\n                new Fortios.Filter.Dns.Inputs.ProfileFtgdDnsFilterArgs\n                {\n                    Action = \"block\",\n                    Category = 61,\n                    Id = 2,\n                    Log = \"enable\",\n                },\n                new Fortios.Filter.Dns.Inputs.ProfileFtgdDnsFilterArgs\n                {\n                    Action = \"block\",\n                    Category = 86,\n                    Id = 3,\n                    Log = \"enable\",\n                },\n                new Fortios.Filter.Dns.Inputs.ProfileFtgdDnsFilterArgs\n                {\n                    Action = \"block\",\n                    Category = 88,\n                    Id = 4,\n                    Log = \"enable\",\n                },\n            },\n        },\n        LogAllDomain = \"disable\",\n        RedirectPortal = \"0.0.0.0\",\n        SafeSearch = \"disable\",\n        SdnsDomainLog = \"enable\",\n        SdnsFtgdErrLog = \"enable\",\n        YoutubeRestrict = \"strict\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewProfile(ctx, \"trname\", &filter.ProfileArgs{\n\t\t\tBlockAction: pulumi.String(\"redirect\"),\n\t\t\tBlockBotnet: pulumi.String(\"disable\"),\n\t\t\tDomainFilter: &dns.ProfileDomainFilterArgs{\n\t\t\t\tDomainFilterTable: pulumi.Int(0),\n\t\t\t},\n\t\t\tFtgdDns: &dns.ProfileFtgdDnsArgs{\n\t\t\t\tFilters: dns.ProfileFtgdDnsFilterArray{\n\t\t\t\t\t&dns.ProfileFtgdDnsFilterArgs{\n\t\t\t\t\t\tAction:   pulumi.String(\"block\"),\n\t\t\t\t\t\tCategory: pulumi.Int(26),\n\t\t\t\t\t\tId:       pulumi.Int(1),\n\t\t\t\t\t\tLog:      pulumi.String(\"enable\"),\n\t\t\t\t\t},\n\t\t\t\t\t&dns.ProfileFtgdDnsFilterArgs{\n\t\t\t\t\t\tAction:   pulumi.String(\"block\"),\n\t\t\t\t\t\tCategory: pulumi.Int(61),\n\t\t\t\t\t\tId:       pulumi.Int(2),\n\t\t\t\t\t\tLog:      pulumi.String(\"enable\"),\n\t\t\t\t\t},\n\t\t\t\t\t&dns.ProfileFtgdDnsFilterArgs{\n\t\t\t\t\t\tAction:   pulumi.String(\"block\"),\n\t\t\t\t\t\tCategory: pulumi.Int(86),\n\t\t\t\t\t\tId:       pulumi.Int(3),\n\t\t\t\t\t\tLog:      pulumi.String(\"enable\"),\n\t\t\t\t\t},\n\t\t\t\t\t&dns.ProfileFtgdDnsFilterArgs{\n\t\t\t\t\t\tAction:   pulumi.String(\"block\"),\n\t\t\t\t\t\tCategory: pulumi.Int(88),\n\t\t\t\t\t\tId:       pulumi.Int(4),\n\t\t\t\t\t\tLog:      pulumi.String(\"enable\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogAllDomain:    pulumi.String(\"disable\"),\n\t\t\tRedirectPortal:  pulumi.String(\"0.0.0.0\"),\n\t\t\tSafeSearch:      pulumi.String(\"disable\"),\n\t\t\tSdnsDomainLog:   pulumi.String(\"enable\"),\n\t\t\tSdnsFtgdErrLog:  pulumi.String(\"enable\"),\n\t\t\tYoutubeRestrict: pulumi.String(\"strict\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Profile;\nimport com.pulumi.fortios.filter.ProfileArgs;\nimport com.pulumi.fortios.filter.inputs.ProfileDomainFilterArgs;\nimport com.pulumi.fortios.filter.inputs.ProfileFtgdDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Profile(\"trname\", ProfileArgs.builder()\n            .blockAction(\"redirect\")\n            .blockBotnet(\"disable\")\n            .domainFilter(ProfileDomainFilterArgs.builder()\n                .domainFilterTable(0)\n                .build())\n            .ftgdDns(ProfileFtgdDnsArgs.builder()\n                .filters(                \n                    ProfileFtgdDnsFilterArgs.builder()\n                        .action(\"block\")\n                        .category(26)\n                        .id(1)\n                        .log(\"enable\")\n                        .build(),\n                    ProfileFtgdDnsFilterArgs.builder()\n                        .action(\"block\")\n                        .category(61)\n                        .id(2)\n                        .log(\"enable\")\n                        .build(),\n                    ProfileFtgdDnsFilterArgs.builder()\n                        .action(\"block\")\n                        .category(86)\n                        .id(3)\n                        .log(\"enable\")\n                        .build(),\n                    ProfileFtgdDnsFilterArgs.builder()\n                        .action(\"block\")\n                        .category(88)\n                        .id(4)\n                        .log(\"enable\")\n                        .build())\n                .build())\n            .logAllDomain(\"disable\")\n            .redirectPortal(\"0.0.0.0\")\n            .safeSearch(\"disable\")\n            .sdnsDomainLog(\"enable\")\n            .sdnsFtgdErrLog(\"enable\")\n            .youtubeRestrict(\"strict\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/dns:Profile\n    properties:\n      blockAction: redirect\n      blockBotnet: disable\n      domainFilter:\n        domainFilterTable: 0\n      ftgdDns:\n        filters:\n          - action: block\n            category: 26\n            id: 1\n            log: enable\n          - action: block\n            category: 61\n            id: 2\n            log: enable\n          - action: block\n            category: 86\n            id: 3\n            log: enable\n          - action: block\n            category: 88\n            id: 4\n            log: enable\n      logAllDomain: disable\n      redirectPortal: 0.0.0.0\n      safeSearch: disable\n      sdnsDomainLog: enable\n      sdnsFtgdErrLog: enable\n      youtubeRestrict: strict\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nDnsfilter Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/dns/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/dns/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "blockAction": {
          "type": "string",
          "description": "Action to take for blocked domains.\n"
        },
        "blockBotnet": {
          "type": "string",
          "description": "Enable/disable blocking botnet C&C DNS lookups. Valid values: `disable`, `enable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dnsTranslations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fdns%2FProfileDnsTranslation:ProfileDnsTranslation"
          },
          "description": "DNS translation settings. The structure of `dns_translation` block is documented below.\n"
        },
        "domainFilter": {
          "$ref": "#/types/fortios:filter%2Fdns%2FProfileDomainFilter:ProfileDomainFilter",
          "description": "Domain filter settings. The structure of `domain_filter` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "externalIpBlocklists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fdns%2FProfileExternalIpBlocklist:ProfileExternalIpBlocklist"
          },
          "description": "One or more external IP block lists. The structure of `external_ip_blocklist` block is documented below.\n"
        },
        "ftgdDns": {
          "$ref": "#/types/fortios:filter%2Fdns%2FProfileFtgdDns:ProfileFtgdDns",
          "description": "FortiGuard DNS Filter settings. The structure of `ftgd_dns` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "logAllDomain": {
          "type": "string",
          "description": "Enable/disable logging of all domains visited (detailed DNS logging). Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "redirectPortal": {
          "type": "string",
          "description": "IP address of the SDNS redirect portal.\n"
        },
        "redirectPortal6": {
          "type": "string",
          "description": "IPv6 address of the SDNS redirect portal.\n"
        },
        "safeSearch": {
          "type": "string",
          "description": "Enable/disable Google, Bing, and YouTube safe search. Valid values: `disable`, `enable`.\n"
        },
        "sdnsDomainLog": {
          "type": "string",
          "description": "Enable/disable domain filtering and botnet domain logging. Valid values: `enable`, `disable`.\n"
        },
        "sdnsFtgdErrLog": {
          "type": "string",
          "description": "Enable/disable FortiGuard SDNS rating error logging. Valid values: `enable`, `disable`.\n"
        },
        "stripEch": {
          "type": "string",
          "description": "Enable/disable removal of the encrypted client hello service parameter from supporting DNS RRs. Valid values: `disable`, `enable`.\n"
        },
        "transparentDnsDatabases": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fdns%2FProfileTransparentDnsDatabase:ProfileTransparentDnsDatabase"
          },
          "description": "Transparent DNS database zones. The structure of `transparent_dns_database` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "youtubeRestrict": {
          "type": "string",
          "description": "Set safe search for YouTube restriction level.\n"
        }
      },
      "type": "object",
      "required": [
        "blockAction",
        "blockBotnet",
        "domainFilter",
        "ftgdDns",
        "logAllDomain",
        "name",
        "redirectPortal",
        "redirectPortal6",
        "safeSearch",
        "sdnsDomainLog",
        "sdnsFtgdErrLog",
        "stripEch",
        "vdomparam",
        "youtubeRestrict"
      ],
      "inputProperties": {
        "blockAction": {
          "type": "string",
          "description": "Action to take for blocked domains.\n"
        },
        "blockBotnet": {
          "type": "string",
          "description": "Enable/disable blocking botnet C&C DNS lookups. Valid values: `disable`, `enable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dnsTranslations": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fdns%2FProfileDnsTranslation:ProfileDnsTranslation"
          },
          "description": "DNS translation settings. The structure of `dns_translation` block is documented below.\n"
        },
        "domainFilter": {
          "$ref": "#/types/fortios:filter%2Fdns%2FProfileDomainFilter:ProfileDomainFilter",
          "description": "Domain filter settings. The structure of `domain_filter` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "externalIpBlocklists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fdns%2FProfileExternalIpBlocklist:ProfileExternalIpBlocklist"
          },
          "description": "One or more external IP block lists. The structure of `external_ip_blocklist` block is documented below.\n"
        },
        "ftgdDns": {
          "$ref": "#/types/fortios:filter%2Fdns%2FProfileFtgdDns:ProfileFtgdDns",
          "description": "FortiGuard DNS Filter settings. The structure of `ftgd_dns` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "logAllDomain": {
          "type": "string",
          "description": "Enable/disable logging of all domains visited (detailed DNS logging). Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "redirectPortal": {
          "type": "string",
          "description": "IP address of the SDNS redirect portal.\n"
        },
        "redirectPortal6": {
          "type": "string",
          "description": "IPv6 address of the SDNS redirect portal.\n"
        },
        "safeSearch": {
          "type": "string",
          "description": "Enable/disable Google, Bing, and YouTube safe search. Valid values: `disable`, `enable`.\n"
        },
        "sdnsDomainLog": {
          "type": "string",
          "description": "Enable/disable domain filtering and botnet domain logging. Valid values: `enable`, `disable`.\n"
        },
        "sdnsFtgdErrLog": {
          "type": "string",
          "description": "Enable/disable FortiGuard SDNS rating error logging. Valid values: `enable`, `disable`.\n"
        },
        "stripEch": {
          "type": "string",
          "description": "Enable/disable removal of the encrypted client hello service parameter from supporting DNS RRs. Valid values: `disable`, `enable`.\n"
        },
        "transparentDnsDatabases": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fdns%2FProfileTransparentDnsDatabase:ProfileTransparentDnsDatabase"
          },
          "description": "Transparent DNS database zones. The structure of `transparent_dns_database` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "youtubeRestrict": {
          "type": "string",
          "description": "Set safe search for YouTube restriction level.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "blockAction": {
            "type": "string",
            "description": "Action to take for blocked domains.\n"
          },
          "blockBotnet": {
            "type": "string",
            "description": "Enable/disable blocking botnet C&C DNS lookups. Valid values: `disable`, `enable`.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dnsTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fdns%2FProfileDnsTranslation:ProfileDnsTranslation"
            },
            "description": "DNS translation settings. The structure of `dns_translation` block is documented below.\n"
          },
          "domainFilter": {
            "$ref": "#/types/fortios:filter%2Fdns%2FProfileDomainFilter:ProfileDomainFilter",
            "description": "Domain filter settings. The structure of `domain_filter` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "externalIpBlocklists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fdns%2FProfileExternalIpBlocklist:ProfileExternalIpBlocklist"
            },
            "description": "One or more external IP block lists. The structure of `external_ip_blocklist` block is documented below.\n"
          },
          "ftgdDns": {
            "$ref": "#/types/fortios:filter%2Fdns%2FProfileFtgdDns:ProfileFtgdDns",
            "description": "FortiGuard DNS Filter settings. The structure of `ftgd_dns` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "logAllDomain": {
            "type": "string",
            "description": "Enable/disable logging of all domains visited (detailed DNS logging). Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "redirectPortal": {
            "type": "string",
            "description": "IP address of the SDNS redirect portal.\n"
          },
          "redirectPortal6": {
            "type": "string",
            "description": "IPv6 address of the SDNS redirect portal.\n"
          },
          "safeSearch": {
            "type": "string",
            "description": "Enable/disable Google, Bing, and YouTube safe search. Valid values: `disable`, `enable`.\n"
          },
          "sdnsDomainLog": {
            "type": "string",
            "description": "Enable/disable domain filtering and botnet domain logging. Valid values: `enable`, `disable`.\n"
          },
          "sdnsFtgdErrLog": {
            "type": "string",
            "description": "Enable/disable FortiGuard SDNS rating error logging. Valid values: `enable`, `disable`.\n"
          },
          "stripEch": {
            "type": "string",
            "description": "Enable/disable removal of the encrypted client hello service parameter from supporting DNS RRs. Valid values: `disable`, `enable`.\n"
          },
          "transparentDnsDatabases": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fdns%2FProfileTransparentDnsDatabase:ProfileTransparentDnsDatabase"
            },
            "description": "Transparent DNS database zones. The structure of `transparent_dns_database` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "youtubeRestrict": {
            "type": "string",
            "description": "Set safe search for YouTube restriction level.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/email/blockallowlist:Blockallowlist": {
      "description": "Configure anti-spam block/allow list. Applies to FortiOS Version `>= 7.0.0`.\n\n## Import\n\nEmailfilter BlockAllowList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/email/blockallowlist:Blockallowlist labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/email/blockallowlist:Blockallowlist labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FBlockallowlistEntry:BlockallowlistEntry"
          },
          "description": "Anti-spam block/allow entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FBlockallowlistEntry:BlockallowlistEntry"
          },
          "description": "Anti-spam block/allow entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Blockallowlist resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Femail%2FBlockallowlistEntry:BlockallowlistEntry"
            },
            "description": "Anti-spam block/allow entries. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/email/bwl:Bwl": {
      "description": "Configure anti-spam black/white list. Applies to FortiOS Version `6.2.4,6.2.6,6.4.0,6.4.1,6.4.2,6.4.10,6.4.11,6.4.12,6.4.13,6.4.14,6.4.15`.\n\n## Import\n\nEmailfilter Bwl can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/email/bwl:Bwl labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/email/bwl:Bwl labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FBwlEntry:BwlEntry"
          },
          "description": "Anti-spam black/white list entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FBwlEntry:BwlEntry"
          },
          "description": "Anti-spam black/white list entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Bwl resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Femail%2FBwlEntry:BwlEntry"
            },
            "description": "Anti-spam black/white list entries. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/email/bword:Bword": {
      "description": "Configure AntiSpam banned word list. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nEmailfilter Bword can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/email/bword:Bword labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/email/bword:Bword labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FBwordEntry:BwordEntry"
          },
          "description": "Spam filter banned word. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FBwordEntry:BwordEntry"
          },
          "description": "Spam filter banned word. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Bword resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Femail%2FBwordEntry:BwordEntry"
            },
            "description": "Spam filter banned word. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/email/dnsbl:Dnsbl": {
      "description": "Configure AntiSpam DNSBL/ORBL. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nEmailfilter Dnsbl can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/email/dnsbl:Dnsbl labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/email/dnsbl:Dnsbl labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FDnsblEntry:DnsblEntry"
          },
          "description": "Spam filter DNSBL and ORBL server. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FDnsblEntry:DnsblEntry"
          },
          "description": "Spam filter DNSBL and ORBL server. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Dnsbl resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Femail%2FDnsblEntry:DnsblEntry"
            },
            "description": "Spam filter DNSBL and ORBL server. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/email/fortishield:Fortishield": {
      "description": "Configure FortiGuard - AntiSpam. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nEmailfilter Fortishield can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/email/fortishield:Fortishield labelname EmailfilterFortishield\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/email/fortishield:Fortishield labelname EmailfilterFortishield\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "spamSubmitForce": {
          "type": "string",
          "description": "Enable/disable force insertion of a new mime entity for the submission text. Valid values: `enable`, `disable`.\n"
        },
        "spamSubmitSrv": {
          "type": "string",
          "description": "Hostname of the spam submission server.\n"
        },
        "spamSubmitTxt2htm": {
          "type": "string",
          "description": "Enable/disable conversion of text email to HTML email. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "spamSubmitForce",
        "spamSubmitSrv",
        "spamSubmitTxt2htm",
        "vdomparam"
      ],
      "inputProperties": {
        "spamSubmitForce": {
          "type": "string",
          "description": "Enable/disable force insertion of a new mime entity for the submission text. Valid values: `enable`, `disable`.\n"
        },
        "spamSubmitSrv": {
          "type": "string",
          "description": "Hostname of the spam submission server.\n"
        },
        "spamSubmitTxt2htm": {
          "type": "string",
          "description": "Enable/disable conversion of text email to HTML email. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fortishield resources.\n",
        "properties": {
          "spamSubmitForce": {
            "type": "string",
            "description": "Enable/disable force insertion of a new mime entity for the submission text. Valid values: `enable`, `disable`.\n"
          },
          "spamSubmitSrv": {
            "type": "string",
            "description": "Hostname of the spam submission server.\n"
          },
          "spamSubmitTxt2htm": {
            "type": "string",
            "description": "Enable/disable conversion of text email to HTML email. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/email/iptrust:Iptrust": {
      "description": "Configure AntiSpam IP trust. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nEmailfilter Iptrust can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/email/iptrust:Iptrust labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/email/iptrust:Iptrust labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FIptrustEntry:IptrustEntry"
          },
          "description": "Spam filter trusted IP addresses. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FIptrustEntry:IptrustEntry"
          },
          "description": "Spam filter trusted IP addresses. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Iptrust resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Femail%2FIptrustEntry:IptrustEntry"
            },
            "description": "Spam filter trusted IP addresses. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/email/mheader:Mheader": {
      "description": "Configure AntiSpam MIME header. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nEmailfilter Mheader can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/email/mheader:Mheader labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/email/mheader:Mheader labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FMheaderEntry:MheaderEntry"
          },
          "description": "Spam filter mime header content. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Femail%2FMheaderEntry:MheaderEntry"
          },
          "description": "Spam filter mime header content. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Mheader resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Femail%2FMheaderEntry:MheaderEntry"
            },
            "description": "Spam filter mime header content. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/email/options:Options": {
      "description": "Configure AntiSpam options. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nEmailfilter Options can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/email/options:Options labelname EmailfilterOptions\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/email/options:Options labelname EmailfilterOptions\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dnsTimeout": {
          "type": "integer",
          "description": "DNS query time out (1 - 30 sec).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dnsTimeout",
        "vdomparam"
      ],
      "inputProperties": {
        "dnsTimeout": {
          "type": "integer",
          "description": "DNS query time out (1 - 30 sec).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Options resources.\n",
        "properties": {
          "dnsTimeout": {
            "type": "integer",
            "description": "DNS query time out (1 - 30 sec).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/email/profile:Profile": {
      "description": "Configure Email Filter profiles. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nEmailfilter Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/email/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/email/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "external": {
          "type": "string",
          "description": "Enable/disable external Email inspection. Valid values: `enable`, `disable`.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "fileFilter": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileFileFilter:ProfileFileFilter",
          "description": "File filter. The structure of `file_filter` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gmail": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileGmail:ProfileGmail",
          "description": "Gmail. The structure of `gmail` block is documented below.\n"
        },
        "imap": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileImap:ProfileImap",
          "description": "IMAP. The structure of `imap` block is documented below.\n"
        },
        "mapi": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileMapi:ProfileMapi",
          "description": "MAPI. The structure of `mapi` block is documented below.\n"
        },
        "msnHotmail": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileMsnHotmail:ProfileMsnHotmail",
          "description": "MSN Hotmail. The structure of `msn_hotmail` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "options": {
          "type": "string",
          "description": "Options.\n"
        },
        "otherWebmails": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileOtherWebmails:ProfileOtherWebmails",
          "description": "Other supported webmails. The structure of `other_webmails` block is documented below.\n"
        },
        "pop3": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfilePop3:ProfilePop3",
          "description": "POP3. The structure of `pop3` block is documented below.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "smtp": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileSmtp:ProfileSmtp",
          "description": "SMTP. The structure of `smtp` block is documented below.\n"
        },
        "spamBalTable": {
          "type": "integer",
          "description": "Anti-spam block/allow list table ID.\n"
        },
        "spamBwlTable": {
          "type": "integer",
          "description": "Anti-spam black/white list table ID.\n"
        },
        "spamBwordTable": {
          "type": "integer",
          "description": "Anti-spam banned word table ID.\n"
        },
        "spamBwordThreshold": {
          "type": "integer",
          "description": "Spam banned word threshold.\n"
        },
        "spamFiltering": {
          "type": "string",
          "description": "Enable/disable spam filtering. Valid values: `enable`, `disable`.\n"
        },
        "spamIptrustTable": {
          "type": "integer",
          "description": "Anti-spam IP trust table ID.\n"
        },
        "spamLog": {
          "type": "string",
          "description": "Enable/disable spam logging for email filtering. Valid values: `disable`, `enable`.\n"
        },
        "spamLogFortiguardResponse": {
          "type": "string",
          "description": "Enable/disable logging FortiGuard spam response. Valid values: `disable`, `enable`.\n"
        },
        "spamMheaderTable": {
          "type": "integer",
          "description": "Anti-spam MIME header table ID.\n"
        },
        "spamRblTable": {
          "type": "integer",
          "description": "Anti-spam DNSBL table ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "yahooMail": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileYahooMail:ProfileYahooMail",
          "description": "Yahoo! Mail. The structure of `yahoo_mail` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "external",
        "featureSet",
        "fileFilter",
        "gmail",
        "imap",
        "mapi",
        "msnHotmail",
        "name",
        "options",
        "otherWebmails",
        "pop3",
        "replacemsgGroup",
        "smtp",
        "spamBalTable",
        "spamBwlTable",
        "spamBwordTable",
        "spamBwordThreshold",
        "spamFiltering",
        "spamIptrustTable",
        "spamLog",
        "spamLogFortiguardResponse",
        "spamMheaderTable",
        "spamRblTable",
        "vdomparam",
        "yahooMail"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "external": {
          "type": "string",
          "description": "Enable/disable external Email inspection. Valid values: `enable`, `disable`.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "fileFilter": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileFileFilter:ProfileFileFilter",
          "description": "File filter. The structure of `file_filter` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gmail": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileGmail:ProfileGmail",
          "description": "Gmail. The structure of `gmail` block is documented below.\n"
        },
        "imap": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileImap:ProfileImap",
          "description": "IMAP. The structure of `imap` block is documented below.\n"
        },
        "mapi": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileMapi:ProfileMapi",
          "description": "MAPI. The structure of `mapi` block is documented below.\n"
        },
        "msnHotmail": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileMsnHotmail:ProfileMsnHotmail",
          "description": "MSN Hotmail. The structure of `msn_hotmail` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "options": {
          "type": "string",
          "description": "Options.\n"
        },
        "otherWebmails": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileOtherWebmails:ProfileOtherWebmails",
          "description": "Other supported webmails. The structure of `other_webmails` block is documented below.\n"
        },
        "pop3": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfilePop3:ProfilePop3",
          "description": "POP3. The structure of `pop3` block is documented below.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "smtp": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileSmtp:ProfileSmtp",
          "description": "SMTP. The structure of `smtp` block is documented below.\n"
        },
        "spamBalTable": {
          "type": "integer",
          "description": "Anti-spam block/allow list table ID.\n"
        },
        "spamBwlTable": {
          "type": "integer",
          "description": "Anti-spam black/white list table ID.\n"
        },
        "spamBwordTable": {
          "type": "integer",
          "description": "Anti-spam banned word table ID.\n"
        },
        "spamBwordThreshold": {
          "type": "integer",
          "description": "Spam banned word threshold.\n"
        },
        "spamFiltering": {
          "type": "string",
          "description": "Enable/disable spam filtering. Valid values: `enable`, `disable`.\n"
        },
        "spamIptrustTable": {
          "type": "integer",
          "description": "Anti-spam IP trust table ID.\n"
        },
        "spamLog": {
          "type": "string",
          "description": "Enable/disable spam logging for email filtering. Valid values: `disable`, `enable`.\n"
        },
        "spamLogFortiguardResponse": {
          "type": "string",
          "description": "Enable/disable logging FortiGuard spam response. Valid values: `disable`, `enable`.\n"
        },
        "spamMheaderTable": {
          "type": "integer",
          "description": "Anti-spam MIME header table ID.\n"
        },
        "spamRblTable": {
          "type": "integer",
          "description": "Anti-spam DNSBL table ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "yahooMail": {
          "$ref": "#/types/fortios:filter%2Femail%2FProfileYahooMail:ProfileYahooMail",
          "description": "Yahoo! Mail. The structure of `yahoo_mail` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "external": {
            "type": "string",
            "description": "Enable/disable external Email inspection. Valid values: `enable`, `disable`.\n"
          },
          "featureSet": {
            "type": "string",
            "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
          },
          "fileFilter": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfileFileFilter:ProfileFileFilter",
            "description": "File filter. The structure of `file_filter` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gmail": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfileGmail:ProfileGmail",
            "description": "Gmail. The structure of `gmail` block is documented below.\n"
          },
          "imap": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfileImap:ProfileImap",
            "description": "IMAP. The structure of `imap` block is documented below.\n"
          },
          "mapi": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfileMapi:ProfileMapi",
            "description": "MAPI. The structure of `mapi` block is documented below.\n"
          },
          "msnHotmail": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfileMsnHotmail:ProfileMsnHotmail",
            "description": "MSN Hotmail. The structure of `msn_hotmail` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "options": {
            "type": "string",
            "description": "Options.\n"
          },
          "otherWebmails": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfileOtherWebmails:ProfileOtherWebmails",
            "description": "Other supported webmails. The structure of `other_webmails` block is documented below.\n"
          },
          "pop3": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfilePop3:ProfilePop3",
            "description": "POP3. The structure of `pop3` block is documented below.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group.\n"
          },
          "smtp": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfileSmtp:ProfileSmtp",
            "description": "SMTP. The structure of `smtp` block is documented below.\n"
          },
          "spamBalTable": {
            "type": "integer",
            "description": "Anti-spam block/allow list table ID.\n"
          },
          "spamBwlTable": {
            "type": "integer",
            "description": "Anti-spam black/white list table ID.\n"
          },
          "spamBwordTable": {
            "type": "integer",
            "description": "Anti-spam banned word table ID.\n"
          },
          "spamBwordThreshold": {
            "type": "integer",
            "description": "Spam banned word threshold.\n"
          },
          "spamFiltering": {
            "type": "string",
            "description": "Enable/disable spam filtering. Valid values: `enable`, `disable`.\n"
          },
          "spamIptrustTable": {
            "type": "integer",
            "description": "Anti-spam IP trust table ID.\n"
          },
          "spamLog": {
            "type": "string",
            "description": "Enable/disable spam logging for email filtering. Valid values: `disable`, `enable`.\n"
          },
          "spamLogFortiguardResponse": {
            "type": "string",
            "description": "Enable/disable logging FortiGuard spam response. Valid values: `disable`, `enable`.\n"
          },
          "spamMheaderTable": {
            "type": "integer",
            "description": "Anti-spam MIME header table ID.\n"
          },
          "spamRblTable": {
            "type": "integer",
            "description": "Anti-spam DNSBL table ID.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "yahooMail": {
            "$ref": "#/types/fortios:filter%2Femail%2FProfileYahooMail:ProfileYahooMail",
            "description": "Yahoo! Mail. The structure of `yahoo_mail` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/file/profile:Profile": {
      "description": "Configure file-filter profiles. Applies to FortiOS Version `>= 6.4.1`.\n\n## Import\n\nFileFilter Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/file/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/file/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable file-filter extended logging. Valid values: `disable`, `enable`.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable file-filter logging. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Ffile%2FProfileRule:ProfileRule"
          },
          "description": "File filter rules. The structure of `rules` block is documented below.\n"
        },
        "scanArchiveContents": {
          "type": "string",
          "description": "Enable/disable archive contents scan. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "extendedLog",
        "featureSet",
        "log",
        "name",
        "replacemsgGroup",
        "scanArchiveContents",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable file-filter extended logging. Valid values: `disable`, `enable`.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable file-filter logging. Valid values: `disable`, `enable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Ffile%2FProfileRule:ProfileRule"
          },
          "description": "File filter rules. The structure of `rules` block is documented below.\n"
        },
        "scanArchiveContents": {
          "type": "string",
          "description": "Enable/disable archive contents scan. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "extendedLog": {
            "type": "string",
            "description": "Enable/disable file-filter extended logging. Valid values: `disable`, `enable`.\n"
          },
          "featureSet": {
            "type": "string",
            "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "log": {
            "type": "string",
            "description": "Enable/disable file-filter logging. Valid values: `disable`, `enable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Ffile%2FProfileRule:ProfileRule"
            },
            "description": "File filter rules. The structure of `rules` block is documented below.\n"
          },
          "scanArchiveContents": {
            "type": "string",
            "description": "Enable/disable archive contents scan. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/sctp/profile:Profile": {
      "description": "Configure SCTP filter profiles. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nSctpFilter Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/sctp/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/sctp/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "ppidFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fsctp%2FProfilePpidFilter:ProfilePpidFilter"
          },
          "description": "PPID filters list. The structure of `ppid_filters` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "ppidFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fsctp%2FProfilePpidFilter:ProfilePpidFilter"
          },
          "description": "PPID filters list. The structure of `ppid_filters` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "ppidFilters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fsctp%2FProfilePpidFilter:ProfilePpidFilter"
            },
            "description": "PPID filters list. The structure of `ppid_filters` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/spam/bwl:Bwl": {
      "description": "Configure anti-spam black/white list. Applies to FortiOS Version `<= 6.2.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.spam.Bwl(\"trname\", {\n    comment: \"test\",\n    entries: [{\n        action: \"reject\",\n        addrType: \"ipv4\",\n        ip4Subnet: \"1.1.1.0 255.255.255.0\",\n        ip6Subnet: \"::/128\",\n        patternType: \"wildcard\",\n        status: \"enable\",\n        type: \"ip\",\n    }],\n    fosid: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.spam.Bwl(\"trname\",\n    comment=\"test\",\n    entries=[fortios.filter.spam.BwlEntryArgs(\n        action=\"reject\",\n        addr_type=\"ipv4\",\n        ip4_subnet=\"1.1.1.0 255.255.255.0\",\n        ip6_subnet=\"::/128\",\n        pattern_type=\"wildcard\",\n        status=\"enable\",\n        type=\"ip\",\n    )],\n    fosid=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Spam.Bwl(\"trname\", new()\n    {\n        Comment = \"test\",\n        Entries = new[]\n        {\n            new Fortios.Filter.Spam.Inputs.BwlEntryArgs\n            {\n                Action = \"reject\",\n                AddrType = \"ipv4\",\n                Ip4Subnet = \"1.1.1.0 255.255.255.0\",\n                Ip6Subnet = \"::/128\",\n                PatternType = \"wildcard\",\n                Status = \"enable\",\n                Type = \"ip\",\n            },\n        },\n        Fosid = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewBwl(ctx, \"trname\", &filter.BwlArgs{\n\t\t\tComment: pulumi.String(\"test\"),\n\t\t\tEntries: spam.BwlEntryArray{\n\t\t\t\t&spam.BwlEntryArgs{\n\t\t\t\t\tAction:      pulumi.String(\"reject\"),\n\t\t\t\t\tAddrType:    pulumi.String(\"ipv4\"),\n\t\t\t\t\tIp4Subnet:   pulumi.String(\"1.1.1.0 255.255.255.0\"),\n\t\t\t\t\tIp6Subnet:   pulumi.String(\"::/128\"),\n\t\t\t\t\tPatternType: pulumi.String(\"wildcard\"),\n\t\t\t\t\tStatus:      pulumi.String(\"enable\"),\n\t\t\t\t\tType:        pulumi.String(\"ip\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFosid: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Bwl;\nimport com.pulumi.fortios.filter.BwlArgs;\nimport com.pulumi.fortios.filter.inputs.BwlEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Bwl(\"trname\", BwlArgs.builder()\n            .comment(\"test\")\n            .entries(BwlEntryArgs.builder()\n                .action(\"reject\")\n                .addrType(\"ipv4\")\n                .ip4Subnet(\"1.1.1.0 255.255.255.0\")\n                .ip6Subnet(\"::/128\")\n                .patternType(\"wildcard\")\n                .status(\"enable\")\n                .type(\"ip\")\n                .build())\n            .fosid(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/spam:Bwl\n    properties:\n      comment: test\n      entries:\n        - action: reject\n          addrType: ipv4\n          ip4Subnet: 1.1.1.0 255.255.255.0\n          ip6Subnet: ::/128\n          patternType: wildcard\n          status: enable\n          type: ip\n      fosid: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSpamfilter Bwl can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/spam/bwl:Bwl labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/spam/bwl:Bwl labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fspam%2FBwlEntry:BwlEntry"
          },
          "description": "Anti-spam black/white list entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fspam%2FBwlEntry:BwlEntry"
          },
          "description": "Anti-spam black/white list entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Bwl resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fspam%2FBwlEntry:BwlEntry"
            },
            "description": "Anti-spam black/white list entries. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/spam/bword:Bword": {
      "description": "Configure AntiSpam banned word list. Applies to FortiOS Version `<= 6.2.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.spam.Bword(\"trname\", {\n    comment: \"test\",\n    entries: [{\n        action: \"clear\",\n        language: \"western\",\n        pattern: \"test*patten\",\n        patternType: \"wildcard\",\n        score: 10,\n        status: \"enable\",\n        where: \"subject\",\n    }],\n    fosid: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.spam.Bword(\"trname\",\n    comment=\"test\",\n    entries=[fortios.filter.spam.BwordEntryArgs(\n        action=\"clear\",\n        language=\"western\",\n        pattern=\"test*patten\",\n        pattern_type=\"wildcard\",\n        score=10,\n        status=\"enable\",\n        where=\"subject\",\n    )],\n    fosid=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Spam.Bword(\"trname\", new()\n    {\n        Comment = \"test\",\n        Entries = new[]\n        {\n            new Fortios.Filter.Spam.Inputs.BwordEntryArgs\n            {\n                Action = \"clear\",\n                Language = \"western\",\n                Pattern = \"test*patten\",\n                PatternType = \"wildcard\",\n                Score = 10,\n                Status = \"enable\",\n                Where = \"subject\",\n            },\n        },\n        Fosid = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewBword(ctx, \"trname\", &filter.BwordArgs{\n\t\t\tComment: pulumi.String(\"test\"),\n\t\t\tEntries: spam.BwordEntryArray{\n\t\t\t\t&spam.BwordEntryArgs{\n\t\t\t\t\tAction:      pulumi.String(\"clear\"),\n\t\t\t\t\tLanguage:    pulumi.String(\"western\"),\n\t\t\t\t\tPattern:     pulumi.String(\"test*patten\"),\n\t\t\t\t\tPatternType: pulumi.String(\"wildcard\"),\n\t\t\t\t\tScore:       pulumi.Int(10),\n\t\t\t\t\tStatus:      pulumi.String(\"enable\"),\n\t\t\t\t\tWhere:       pulumi.String(\"subject\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFosid: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Bword;\nimport com.pulumi.fortios.filter.BwordArgs;\nimport com.pulumi.fortios.filter.inputs.BwordEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Bword(\"trname\", BwordArgs.builder()\n            .comment(\"test\")\n            .entries(BwordEntryArgs.builder()\n                .action(\"clear\")\n                .language(\"western\")\n                .pattern(\"test*patten\")\n                .patternType(\"wildcard\")\n                .score(10)\n                .status(\"enable\")\n                .where(\"subject\")\n                .build())\n            .fosid(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/spam:Bword\n    properties:\n      comment: test\n      entries:\n        - action: clear\n          language: western\n          pattern: test*patten\n          patternType: wildcard\n          score: 10\n          status: enable\n          where: subject\n      fosid: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSpamfilter Bword can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/spam/bword:Bword labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/spam/bword:Bword labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fspam%2FBwordEntry:BwordEntry"
          },
          "description": "Spam filter banned word. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fspam%2FBwordEntry:BwordEntry"
          },
          "description": "Spam filter banned word. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Bword resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fspam%2FBwordEntry:BwordEntry"
            },
            "description": "Spam filter banned word. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/spam/dnsbl:Dnsbl": {
      "description": "Configure AntiSpam DNSBL/ORBL. Applies to FortiOS Version `<= 6.2.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.spam.Dnsbl(\"trname\", {\n    comment: \"test\",\n    entries: [{\n        action: \"reject\",\n        server: \"1.1.1.1\",\n        status: \"enable\",\n    }],\n    fosid: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.spam.Dnsbl(\"trname\",\n    comment=\"test\",\n    entries=[fortios.filter.spam.DnsblEntryArgs(\n        action=\"reject\",\n        server=\"1.1.1.1\",\n        status=\"enable\",\n    )],\n    fosid=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Spam.Dnsbl(\"trname\", new()\n    {\n        Comment = \"test\",\n        Entries = new[]\n        {\n            new Fortios.Filter.Spam.Inputs.DnsblEntryArgs\n            {\n                Action = \"reject\",\n                Server = \"1.1.1.1\",\n                Status = \"enable\",\n            },\n        },\n        Fosid = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewDnsbl(ctx, \"trname\", &filter.DnsblArgs{\n\t\t\tComment: pulumi.String(\"test\"),\n\t\t\tEntries: spam.DnsblEntryArray{\n\t\t\t\t&spam.DnsblEntryArgs{\n\t\t\t\t\tAction: pulumi.String(\"reject\"),\n\t\t\t\t\tServer: pulumi.String(\"1.1.1.1\"),\n\t\t\t\t\tStatus: pulumi.String(\"enable\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFosid: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Dnsbl;\nimport com.pulumi.fortios.filter.DnsblArgs;\nimport com.pulumi.fortios.filter.inputs.DnsblEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Dnsbl(\"trname\", DnsblArgs.builder()\n            .comment(\"test\")\n            .entries(DnsblEntryArgs.builder()\n                .action(\"reject\")\n                .server(\"1.1.1.1\")\n                .status(\"enable\")\n                .build())\n            .fosid(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/spam:Dnsbl\n    properties:\n      comment: test\n      entries:\n        - action: reject\n          server: 1.1.1.1\n          status: enable\n      fosid: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSpamfilter Dnsbl can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/spam/dnsbl:Dnsbl labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/spam/dnsbl:Dnsbl labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fspam%2FDnsblEntry:DnsblEntry"
          },
          "description": "Spam filter DNSBL and ORBL server. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fspam%2FDnsblEntry:DnsblEntry"
          },
          "description": "Spam filter DNSBL and ORBL server. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Dnsbl resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fspam%2FDnsblEntry:DnsblEntry"
            },
            "description": "Spam filter DNSBL and ORBL server. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/spam/fortishield:Fortishield": {
      "description": "Configure FortiGuard - AntiSpam. Applies to FortiOS Version `<= 6.2.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.spam.Fortishield(\"trname\", {\n    spamSubmitForce: \"enable\",\n    spamSubmitSrv: \"www.nospammer.net\",\n    spamSubmitTxt2htm: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.spam.Fortishield(\"trname\",\n    spam_submit_force=\"enable\",\n    spam_submit_srv=\"www.nospammer.net\",\n    spam_submit_txt2htm=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Spam.Fortishield(\"trname\", new()\n    {\n        SpamSubmitForce = \"enable\",\n        SpamSubmitSrv = \"www.nospammer.net\",\n        SpamSubmitTxt2htm = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewFortishield(ctx, \"trname\", &filter.FortishieldArgs{\n\t\t\tSpamSubmitForce:   pulumi.String(\"enable\"),\n\t\t\tSpamSubmitSrv:     pulumi.String(\"www.nospammer.net\"),\n\t\t\tSpamSubmitTxt2htm: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Fortishield;\nimport com.pulumi.fortios.filter.FortishieldArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Fortishield(\"trname\", FortishieldArgs.builder()\n            .spamSubmitForce(\"enable\")\n            .spamSubmitSrv(\"www.nospammer.net\")\n            .spamSubmitTxt2htm(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/spam:Fortishield\n    properties:\n      spamSubmitForce: enable\n      spamSubmitSrv: www.nospammer.net\n      spamSubmitTxt2htm: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSpamfilter Fortishield can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/spam/fortishield:Fortishield labelname SpamfilterFortishield\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/spam/fortishield:Fortishield labelname SpamfilterFortishield\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "spamSubmitForce": {
          "type": "string",
          "description": "Enable/disable force insertion of a new mime entity for the submission text. Valid values: `enable`, `disable`.\n"
        },
        "spamSubmitSrv": {
          "type": "string",
          "description": "Hostname of the spam submission server.\n"
        },
        "spamSubmitTxt2htm": {
          "type": "string",
          "description": "Enable/disable conversion of text email to HTML email. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "spamSubmitForce",
        "spamSubmitSrv",
        "spamSubmitTxt2htm",
        "vdomparam"
      ],
      "inputProperties": {
        "spamSubmitForce": {
          "type": "string",
          "description": "Enable/disable force insertion of a new mime entity for the submission text. Valid values: `enable`, `disable`.\n"
        },
        "spamSubmitSrv": {
          "type": "string",
          "description": "Hostname of the spam submission server.\n"
        },
        "spamSubmitTxt2htm": {
          "type": "string",
          "description": "Enable/disable conversion of text email to HTML email. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fortishield resources.\n",
        "properties": {
          "spamSubmitForce": {
            "type": "string",
            "description": "Enable/disable force insertion of a new mime entity for the submission text. Valid values: `enable`, `disable`.\n"
          },
          "spamSubmitSrv": {
            "type": "string",
            "description": "Hostname of the spam submission server.\n"
          },
          "spamSubmitTxt2htm": {
            "type": "string",
            "description": "Enable/disable conversion of text email to HTML email. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/spam/iptrust:Iptrust": {
      "description": "Configure AntiSpam IP trust. Applies to FortiOS Version `<= 6.2.0`.\n\n## Import\n\nSpamfilter Iptrust can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/spam/iptrust:Iptrust labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/spam/iptrust:Iptrust labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fspam%2FIptrustEntry:IptrustEntry"
          },
          "description": "Spam filter trusted IP addresses. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fspam%2FIptrustEntry:IptrustEntry"
          },
          "description": "Spam filter trusted IP addresses. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Iptrust resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fspam%2FIptrustEntry:IptrustEntry"
            },
            "description": "Spam filter trusted IP addresses. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/spam/mheader:Mheader": {
      "description": "Configure AntiSpam MIME header. Applies to FortiOS Version `<= 6.2.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.spam.Mheader(\"trname\", {\n    comment: \"test\",\n    entries: [{\n        action: \"spam\",\n        fieldbody: \"scstest\",\n        fieldname: \"EIWEtest\",\n        id: 1,\n        patternType: \"wildcard\",\n        status: \"enable\",\n    }],\n    fosid: 1,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.spam.Mheader(\"trname\",\n    comment=\"test\",\n    entries=[fortios.filter.spam.MheaderEntryArgs(\n        action=\"spam\",\n        fieldbody=\"scstest\",\n        fieldname=\"EIWEtest\",\n        id=1,\n        pattern_type=\"wildcard\",\n        status=\"enable\",\n    )],\n    fosid=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Spam.Mheader(\"trname\", new()\n    {\n        Comment = \"test\",\n        Entries = new[]\n        {\n            new Fortios.Filter.Spam.Inputs.MheaderEntryArgs\n            {\n                Action = \"spam\",\n                Fieldbody = \"scstest\",\n                Fieldname = \"EIWEtest\",\n                Id = 1,\n                PatternType = \"wildcard\",\n                Status = \"enable\",\n            },\n        },\n        Fosid = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewMheader(ctx, \"trname\", &filter.MheaderArgs{\n\t\t\tComment: pulumi.String(\"test\"),\n\t\t\tEntries: spam.MheaderEntryArray{\n\t\t\t\t&spam.MheaderEntryArgs{\n\t\t\t\t\tAction:      pulumi.String(\"spam\"),\n\t\t\t\t\tFieldbody:   pulumi.String(\"scstest\"),\n\t\t\t\t\tFieldname:   pulumi.String(\"EIWEtest\"),\n\t\t\t\t\tId:          pulumi.Int(1),\n\t\t\t\t\tPatternType: pulumi.String(\"wildcard\"),\n\t\t\t\t\tStatus:      pulumi.String(\"enable\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFosid: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Mheader;\nimport com.pulumi.fortios.filter.MheaderArgs;\nimport com.pulumi.fortios.filter.inputs.MheaderEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Mheader(\"trname\", MheaderArgs.builder()\n            .comment(\"test\")\n            .entries(MheaderEntryArgs.builder()\n                .action(\"spam\")\n                .fieldbody(\"scstest\")\n                .fieldname(\"EIWEtest\")\n                .id(1)\n                .patternType(\"wildcard\")\n                .status(\"enable\")\n                .build())\n            .fosid(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/spam:Mheader\n    properties:\n      comment: test\n      entries:\n        - action: spam\n          fieldbody: scstest\n          fieldname: EIWEtest\n          id: 1\n          patternType: wildcard\n          status: enable\n      fosid: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSpamfilter Mheader can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/spam/mheader:Mheader labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/spam/mheader:Mheader labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fspam%2FMheaderEntry:MheaderEntry"
          },
          "description": "Spam filter mime header content. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fspam%2FMheaderEntry:MheaderEntry"
          },
          "description": "Spam filter mime header content. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Mheader resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fspam%2FMheaderEntry:MheaderEntry"
            },
            "description": "Spam filter mime header content. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/spam/options:Options": {
      "description": "Configure AntiSpam options. Applies to FortiOS Version `<= 6.2.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.spam.Options(\"trname\", {dnsTimeout: 7});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.spam.Options(\"trname\", dns_timeout=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Spam.Options(\"trname\", new()\n    {\n        DnsTimeout = 7,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewOptions(ctx, \"trname\", &filter.OptionsArgs{\n\t\t\tDnsTimeout: pulumi.Int(7),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Options;\nimport com.pulumi.fortios.filter.OptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Options(\"trname\", OptionsArgs.builder()\n            .dnsTimeout(7)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/spam:Options\n    properties:\n      dnsTimeout: 7\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSpamfilter Options can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/spam/options:Options labelname SpamfilterOptions\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/spam/options:Options labelname SpamfilterOptions\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dnsTimeout": {
          "type": "integer",
          "description": "DNS query time out (1 - 30 sec).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dnsTimeout",
        "vdomparam"
      ],
      "inputProperties": {
        "dnsTimeout": {
          "type": "integer",
          "description": "DNS query time out (1 - 30 sec).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Options resources.\n",
        "properties": {
          "dnsTimeout": {
            "type": "integer",
            "description": "DNS query time out (1 - 30 sec).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/spam/profile:Profile": {
      "description": "Configure AntiSpam profiles. Applies to FortiOS Version `<= 6.2.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.spam.Profile(\"trname\", {\n    comment: \"terraform test\",\n    external: \"disable\",\n    flowBased: \"disable\",\n    gmail: {\n        log: \"disable\",\n    },\n    imap: {\n        action: \"tag\",\n        log: \"disable\",\n        tagMsg: \"Spam\",\n        tagType: \"subject spaminfo\",\n    },\n    mapi: {\n        action: \"discard\",\n        log: \"disable\",\n    },\n    msnHotmail: {\n        log: \"disable\",\n    },\n    pop3: {\n        action: \"tag\",\n        log: \"disable\",\n        tagMsg: \"Spam\",\n        tagType: \"subject spaminfo\",\n    },\n    smtp: {\n        action: \"discard\",\n        hdrip: \"disable\",\n        localOverride: \"disable\",\n        log: \"disable\",\n        tagMsg: \"Spam\",\n        tagType: \"subject spaminfo\",\n    },\n    spamBwlTable: 0,\n    spamBwordTable: 0,\n    spamBwordThreshold: 10,\n    spamFiltering: \"disable\",\n    spamIptrustTable: 0,\n    spamLog: \"enable\",\n    spamLogFortiguardResponse: \"disable\",\n    spamMheaderTable: 0,\n    spamRblTable: 0,\n    yahooMail: {\n        log: \"disable\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.spam.Profile(\"trname\",\n    comment=\"terraform test\",\n    external=\"disable\",\n    flow_based=\"disable\",\n    gmail=fortios.filter.spam.ProfileGmailArgs(\n        log=\"disable\",\n    ),\n    imap=fortios.filter.spam.ProfileImapArgs(\n        action=\"tag\",\n        log=\"disable\",\n        tag_msg=\"Spam\",\n        tag_type=\"subject spaminfo\",\n    ),\n    mapi=fortios.filter.spam.ProfileMapiArgs(\n        action=\"discard\",\n        log=\"disable\",\n    ),\n    msn_hotmail=fortios.filter.spam.ProfileMsnHotmailArgs(\n        log=\"disable\",\n    ),\n    pop3=fortios.filter.spam.ProfilePop3Args(\n        action=\"tag\",\n        log=\"disable\",\n        tag_msg=\"Spam\",\n        tag_type=\"subject spaminfo\",\n    ),\n    smtp=fortios.filter.spam.ProfileSmtpArgs(\n        action=\"discard\",\n        hdrip=\"disable\",\n        local_override=\"disable\",\n        log=\"disable\",\n        tag_msg=\"Spam\",\n        tag_type=\"subject spaminfo\",\n    ),\n    spam_bwl_table=0,\n    spam_bword_table=0,\n    spam_bword_threshold=10,\n    spam_filtering=\"disable\",\n    spam_iptrust_table=0,\n    spam_log=\"enable\",\n    spam_log_fortiguard_response=\"disable\",\n    spam_mheader_table=0,\n    spam_rbl_table=0,\n    yahoo_mail=fortios.filter.spam.ProfileYahooMailArgs(\n        log=\"disable\",\n    ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Spam.Profile(\"trname\", new()\n    {\n        Comment = \"terraform test\",\n        External = \"disable\",\n        FlowBased = \"disable\",\n        Gmail = new Fortios.Filter.Spam.Inputs.ProfileGmailArgs\n        {\n            Log = \"disable\",\n        },\n        Imap = new Fortios.Filter.Spam.Inputs.ProfileImapArgs\n        {\n            Action = \"tag\",\n            Log = \"disable\",\n            TagMsg = \"Spam\",\n            TagType = \"subject spaminfo\",\n        },\n        Mapi = new Fortios.Filter.Spam.Inputs.ProfileMapiArgs\n        {\n            Action = \"discard\",\n            Log = \"disable\",\n        },\n        MsnHotmail = new Fortios.Filter.Spam.Inputs.ProfileMsnHotmailArgs\n        {\n            Log = \"disable\",\n        },\n        Pop3 = new Fortios.Filter.Spam.Inputs.ProfilePop3Args\n        {\n            Action = \"tag\",\n            Log = \"disable\",\n            TagMsg = \"Spam\",\n            TagType = \"subject spaminfo\",\n        },\n        Smtp = new Fortios.Filter.Spam.Inputs.ProfileSmtpArgs\n        {\n            Action = \"discard\",\n            Hdrip = \"disable\",\n            LocalOverride = \"disable\",\n            Log = \"disable\",\n            TagMsg = \"Spam\",\n            TagType = \"subject spaminfo\",\n        },\n        SpamBwlTable = 0,\n        SpamBwordTable = 0,\n        SpamBwordThreshold = 10,\n        SpamFiltering = \"disable\",\n        SpamIptrustTable = 0,\n        SpamLog = \"enable\",\n        SpamLogFortiguardResponse = \"disable\",\n        SpamMheaderTable = 0,\n        SpamRblTable = 0,\n        YahooMail = new Fortios.Filter.Spam.Inputs.ProfileYahooMailArgs\n        {\n            Log = \"disable\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewProfile(ctx, \"trname\", &filter.ProfileArgs{\n\t\t\tComment:   pulumi.String(\"terraform test\"),\n\t\t\tExternal:  pulumi.String(\"disable\"),\n\t\t\tFlowBased: pulumi.String(\"disable\"),\n\t\t\tGmail: &spam.ProfileGmailArgs{\n\t\t\t\tLog: pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tImap: &spam.ProfileImapArgs{\n\t\t\t\tAction:  pulumi.String(\"tag\"),\n\t\t\t\tLog:     pulumi.String(\"disable\"),\n\t\t\t\tTagMsg:  pulumi.String(\"Spam\"),\n\t\t\t\tTagType: pulumi.String(\"subject spaminfo\"),\n\t\t\t},\n\t\t\tMapi: &spam.ProfileMapiArgs{\n\t\t\t\tAction: pulumi.String(\"discard\"),\n\t\t\t\tLog:    pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tMsnHotmail: &spam.ProfileMsnHotmailArgs{\n\t\t\t\tLog: pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tPop3: &spam.ProfilePop3Args{\n\t\t\t\tAction:  pulumi.String(\"tag\"),\n\t\t\t\tLog:     pulumi.String(\"disable\"),\n\t\t\t\tTagMsg:  pulumi.String(\"Spam\"),\n\t\t\t\tTagType: pulumi.String(\"subject spaminfo\"),\n\t\t\t},\n\t\t\tSmtp: &spam.ProfileSmtpArgs{\n\t\t\t\tAction:        pulumi.String(\"discard\"),\n\t\t\t\tHdrip:         pulumi.String(\"disable\"),\n\t\t\t\tLocalOverride: pulumi.String(\"disable\"),\n\t\t\t\tLog:           pulumi.String(\"disable\"),\n\t\t\t\tTagMsg:        pulumi.String(\"Spam\"),\n\t\t\t\tTagType:       pulumi.String(\"subject spaminfo\"),\n\t\t\t},\n\t\t\tSpamBwlTable:              pulumi.Int(0),\n\t\t\tSpamBwordTable:            pulumi.Int(0),\n\t\t\tSpamBwordThreshold:        pulumi.Int(10),\n\t\t\tSpamFiltering:             pulumi.String(\"disable\"),\n\t\t\tSpamIptrustTable:          pulumi.Int(0),\n\t\t\tSpamLog:                   pulumi.String(\"enable\"),\n\t\t\tSpamLogFortiguardResponse: pulumi.String(\"disable\"),\n\t\t\tSpamMheaderTable:          pulumi.Int(0),\n\t\t\tSpamRblTable:              pulumi.Int(0),\n\t\t\tYahooMail: &spam.ProfileYahooMailArgs{\n\t\t\t\tLog: pulumi.String(\"disable\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Profile;\nimport com.pulumi.fortios.filter.ProfileArgs;\nimport com.pulumi.fortios.filter.inputs.ProfileGmailArgs;\nimport com.pulumi.fortios.filter.inputs.ProfileImapArgs;\nimport com.pulumi.fortios.filter.inputs.ProfileMapiArgs;\nimport com.pulumi.fortios.filter.inputs.ProfileMsnHotmailArgs;\nimport com.pulumi.fortios.filter.inputs.ProfilePop3Args;\nimport com.pulumi.fortios.filter.inputs.ProfileSmtpArgs;\nimport com.pulumi.fortios.filter.inputs.ProfileYahooMailArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Profile(\"trname\", ProfileArgs.builder()\n            .comment(\"terraform test\")\n            .external(\"disable\")\n            .flowBased(\"disable\")\n            .gmail(ProfileGmailArgs.builder()\n                .log(\"disable\")\n                .build())\n            .imap(ProfileImapArgs.builder()\n                .action(\"tag\")\n                .log(\"disable\")\n                .tagMsg(\"Spam\")\n                .tagType(\"subject spaminfo\")\n                .build())\n            .mapi(ProfileMapiArgs.builder()\n                .action(\"discard\")\n                .log(\"disable\")\n                .build())\n            .msnHotmail(ProfileMsnHotmailArgs.builder()\n                .log(\"disable\")\n                .build())\n            .pop3(ProfilePop3Args.builder()\n                .action(\"tag\")\n                .log(\"disable\")\n                .tagMsg(\"Spam\")\n                .tagType(\"subject spaminfo\")\n                .build())\n            .smtp(ProfileSmtpArgs.builder()\n                .action(\"discard\")\n                .hdrip(\"disable\")\n                .localOverride(\"disable\")\n                .log(\"disable\")\n                .tagMsg(\"Spam\")\n                .tagType(\"subject spaminfo\")\n                .build())\n            .spamBwlTable(0)\n            .spamBwordTable(0)\n            .spamBwordThreshold(10)\n            .spamFiltering(\"disable\")\n            .spamIptrustTable(0)\n            .spamLog(\"enable\")\n            .spamLogFortiguardResponse(\"disable\")\n            .spamMheaderTable(0)\n            .spamRblTable(0)\n            .yahooMail(ProfileYahooMailArgs.builder()\n                .log(\"disable\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/spam:Profile\n    properties:\n      comment: terraform test\n      external: disable\n      flowBased: disable\n      gmail:\n        log: disable\n      imap:\n        action: tag\n        log: disable\n        tagMsg: Spam\n        tagType: subject spaminfo\n      mapi:\n        action: discard\n        log: disable\n      msnHotmail:\n        log: disable\n      pop3:\n        action: tag\n        log: disable\n        tagMsg: Spam\n        tagType: subject spaminfo\n      smtp:\n        action: discard\n        hdrip: disable\n        localOverride: disable\n        log: disable\n        tagMsg: Spam\n        tagType: subject spaminfo\n      spamBwlTable: 0\n      spamBwordTable: 0\n      spamBwordThreshold: 10\n      spamFiltering: disable\n      spamIptrustTable: 0\n      spamLog: enable\n      spamLogFortiguardResponse: disable\n      spamMheaderTable: 0\n      spamRblTable: 0\n      yahooMail:\n        log: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSpamfilter Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/spam/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/spam/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "external": {
          "type": "string",
          "description": "Enable/disable external Email inspection. Valid values: `enable`, `disable`.\n"
        },
        "flowBased": {
          "type": "string",
          "description": "Enable/disable flow-based spam filtering. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gmail": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileGmail:ProfileGmail",
          "description": "Gmail. The structure of `gmail` block is documented below.\n"
        },
        "imap": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileImap:ProfileImap",
          "description": "IMAP. The structure of `imap` block is documented below.\n"
        },
        "mapi": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileMapi:ProfileMapi",
          "description": "MAPI. The structure of `mapi` block is documented below.\n"
        },
        "msnHotmail": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileMsnHotmail:ProfileMsnHotmail",
          "description": "MSN Hotmail. The structure of `msn_hotmail` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "options": {
          "type": "string",
          "description": "Options. Valid values: `bannedword`, `spambwl`, `spamfsip`, `spamfssubmit`, `spamfschksum`, `spamfsurl`, `spamhelodns`, `spamraddrdns`, `spamrbl`, `spamhdrcheck`, `spamfsphish`.\n"
        },
        "pop3": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfilePop3:ProfilePop3",
          "description": "POP3. The structure of `pop3` block is documented below.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "smtp": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileSmtp:ProfileSmtp",
          "description": "SMTP. The structure of `smtp` block is documented below.\n"
        },
        "spamBwlTable": {
          "type": "integer",
          "description": "Anti-spam black/white list table ID.\n"
        },
        "spamBwordTable": {
          "type": "integer",
          "description": "Anti-spam banned word table ID.\n"
        },
        "spamBwordThreshold": {
          "type": "integer",
          "description": "Spam banned word threshold.\n"
        },
        "spamFiltering": {
          "type": "string",
          "description": "Enable/disable spam filtering. Valid values: `enable`, `disable`.\n"
        },
        "spamIptrustTable": {
          "type": "integer",
          "description": "Anti-spam IP trust table ID.\n"
        },
        "spamLog": {
          "type": "string",
          "description": "Enable/disable spam logging for email filtering. Valid values: `disable`, `enable`.\n"
        },
        "spamLogFortiguardResponse": {
          "type": "string",
          "description": "Enable/disable logging FortiGuard spam response. Valid values: `disable`, `enable`.\n"
        },
        "spamMheaderTable": {
          "type": "integer",
          "description": "Anti-spam MIME header table ID.\n"
        },
        "spamRblTable": {
          "type": "integer",
          "description": "Anti-spam DNSBL table ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "yahooMail": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileYahooMail:ProfileYahooMail",
          "description": "Yahoo! Mail. The structure of `yahoo_mail` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "external",
        "flowBased",
        "gmail",
        "imap",
        "mapi",
        "msnHotmail",
        "name",
        "options",
        "pop3",
        "replacemsgGroup",
        "smtp",
        "spamBwlTable",
        "spamBwordTable",
        "spamBwordThreshold",
        "spamFiltering",
        "spamIptrustTable",
        "spamLog",
        "spamLogFortiguardResponse",
        "spamMheaderTable",
        "spamRblTable",
        "vdomparam",
        "yahooMail"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "external": {
          "type": "string",
          "description": "Enable/disable external Email inspection. Valid values: `enable`, `disable`.\n"
        },
        "flowBased": {
          "type": "string",
          "description": "Enable/disable flow-based spam filtering. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gmail": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileGmail:ProfileGmail",
          "description": "Gmail. The structure of `gmail` block is documented below.\n"
        },
        "imap": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileImap:ProfileImap",
          "description": "IMAP. The structure of `imap` block is documented below.\n"
        },
        "mapi": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileMapi:ProfileMapi",
          "description": "MAPI. The structure of `mapi` block is documented below.\n"
        },
        "msnHotmail": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileMsnHotmail:ProfileMsnHotmail",
          "description": "MSN Hotmail. The structure of `msn_hotmail` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "options": {
          "type": "string",
          "description": "Options. Valid values: `bannedword`, `spambwl`, `spamfsip`, `spamfssubmit`, `spamfschksum`, `spamfsurl`, `spamhelodns`, `spamraddrdns`, `spamrbl`, `spamhdrcheck`, `spamfsphish`.\n"
        },
        "pop3": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfilePop3:ProfilePop3",
          "description": "POP3. The structure of `pop3` block is documented below.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "smtp": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileSmtp:ProfileSmtp",
          "description": "SMTP. The structure of `smtp` block is documented below.\n"
        },
        "spamBwlTable": {
          "type": "integer",
          "description": "Anti-spam black/white list table ID.\n"
        },
        "spamBwordTable": {
          "type": "integer",
          "description": "Anti-spam banned word table ID.\n"
        },
        "spamBwordThreshold": {
          "type": "integer",
          "description": "Spam banned word threshold.\n"
        },
        "spamFiltering": {
          "type": "string",
          "description": "Enable/disable spam filtering. Valid values: `enable`, `disable`.\n"
        },
        "spamIptrustTable": {
          "type": "integer",
          "description": "Anti-spam IP trust table ID.\n"
        },
        "spamLog": {
          "type": "string",
          "description": "Enable/disable spam logging for email filtering. Valid values: `disable`, `enable`.\n"
        },
        "spamLogFortiguardResponse": {
          "type": "string",
          "description": "Enable/disable logging FortiGuard spam response. Valid values: `disable`, `enable`.\n"
        },
        "spamMheaderTable": {
          "type": "integer",
          "description": "Anti-spam MIME header table ID.\n"
        },
        "spamRblTable": {
          "type": "integer",
          "description": "Anti-spam DNSBL table ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "yahooMail": {
          "$ref": "#/types/fortios:filter%2Fspam%2FProfileYahooMail:ProfileYahooMail",
          "description": "Yahoo! Mail. The structure of `yahoo_mail` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "external": {
            "type": "string",
            "description": "Enable/disable external Email inspection. Valid values: `enable`, `disable`.\n"
          },
          "flowBased": {
            "type": "string",
            "description": "Enable/disable flow-based spam filtering. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gmail": {
            "$ref": "#/types/fortios:filter%2Fspam%2FProfileGmail:ProfileGmail",
            "description": "Gmail. The structure of `gmail` block is documented below.\n"
          },
          "imap": {
            "$ref": "#/types/fortios:filter%2Fspam%2FProfileImap:ProfileImap",
            "description": "IMAP. The structure of `imap` block is documented below.\n"
          },
          "mapi": {
            "$ref": "#/types/fortios:filter%2Fspam%2FProfileMapi:ProfileMapi",
            "description": "MAPI. The structure of `mapi` block is documented below.\n"
          },
          "msnHotmail": {
            "$ref": "#/types/fortios:filter%2Fspam%2FProfileMsnHotmail:ProfileMsnHotmail",
            "description": "MSN Hotmail. The structure of `msn_hotmail` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "options": {
            "type": "string",
            "description": "Options. Valid values: `bannedword`, `spambwl`, `spamfsip`, `spamfssubmit`, `spamfschksum`, `spamfsurl`, `spamhelodns`, `spamraddrdns`, `spamrbl`, `spamhdrcheck`, `spamfsphish`.\n"
          },
          "pop3": {
            "$ref": "#/types/fortios:filter%2Fspam%2FProfilePop3:ProfilePop3",
            "description": "POP3. The structure of `pop3` block is documented below.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group.\n"
          },
          "smtp": {
            "$ref": "#/types/fortios:filter%2Fspam%2FProfileSmtp:ProfileSmtp",
            "description": "SMTP. The structure of `smtp` block is documented below.\n"
          },
          "spamBwlTable": {
            "type": "integer",
            "description": "Anti-spam black/white list table ID.\n"
          },
          "spamBwordTable": {
            "type": "integer",
            "description": "Anti-spam banned word table ID.\n"
          },
          "spamBwordThreshold": {
            "type": "integer",
            "description": "Spam banned word threshold.\n"
          },
          "spamFiltering": {
            "type": "string",
            "description": "Enable/disable spam filtering. Valid values: `enable`, `disable`.\n"
          },
          "spamIptrustTable": {
            "type": "integer",
            "description": "Anti-spam IP trust table ID.\n"
          },
          "spamLog": {
            "type": "string",
            "description": "Enable/disable spam logging for email filtering. Valid values: `disable`, `enable`.\n"
          },
          "spamLogFortiguardResponse": {
            "type": "string",
            "description": "Enable/disable logging FortiGuard spam response. Valid values: `disable`, `enable`.\n"
          },
          "spamMheaderTable": {
            "type": "integer",
            "description": "Anti-spam MIME header table ID.\n"
          },
          "spamRblTable": {
            "type": "integer",
            "description": "Anti-spam DNSBL table ID.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "yahooMail": {
            "$ref": "#/types/fortios:filter%2Fspam%2FProfileYahooMail:ProfileYahooMail",
            "description": "Yahoo! Mail. The structure of `yahoo_mail` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/ssh/profile:Profile": {
      "description": "SSH filter profile.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.ssh.Profile(\"trname\", {\n    block: \"x11\",\n    defaultCommandLog: \"enable\",\n    log: \"x11\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.ssh.Profile(\"trname\",\n    block=\"x11\",\n    default_command_log=\"enable\",\n    log=\"x11\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Ssh.Profile(\"trname\", new()\n    {\n        Block = \"x11\",\n        DefaultCommandLog = \"enable\",\n        Log = \"x11\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewProfile(ctx, \"trname\", &filter.ProfileArgs{\n\t\t\tBlock:             pulumi.String(\"x11\"),\n\t\t\tDefaultCommandLog: pulumi.String(\"enable\"),\n\t\t\tLog:               pulumi.String(\"x11\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Profile;\nimport com.pulumi.fortios.filter.ProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Profile(\"trname\", ProfileArgs.builder()\n            .block(\"x11\")\n            .defaultCommandLog(\"enable\")\n            .log(\"x11\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/ssh:Profile\n    properties:\n      block: x11\n      defaultCommandLog: enable\n      log: x11\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSshFilter Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/ssh/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/ssh/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "block": {
          "type": "string",
          "description": "SSH blocking options.\n"
        },
        "defaultCommandLog": {
          "type": "string",
          "description": "Enable/disable logging unmatched shell commands. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fileFilter": {
          "$ref": "#/types/fortios:filter%2Fssh%2FProfileFileFilter:ProfileFileFilter",
          "description": "File filter. The structure of `file_filter` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "log": {
          "type": "string",
          "description": "SSH logging options.\n"
        },
        "name": {
          "type": "string",
          "description": "SSH filter profile name.\n"
        },
        "shellCommands": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fssh%2FProfileShellCommand:ProfileShellCommand"
          },
          "description": "SSH command filter. The structure of `shell_commands` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "block",
        "defaultCommandLog",
        "fileFilter",
        "log",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "block": {
          "type": "string",
          "description": "SSH blocking options.\n"
        },
        "defaultCommandLog": {
          "type": "string",
          "description": "Enable/disable logging unmatched shell commands. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fileFilter": {
          "$ref": "#/types/fortios:filter%2Fssh%2FProfileFileFilter:ProfileFileFilter",
          "description": "File filter. The structure of `file_filter` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "log": {
          "type": "string",
          "description": "SSH logging options.\n"
        },
        "name": {
          "type": "string",
          "description": "SSH filter profile name.\n",
          "willReplaceOnChanges": true
        },
        "shellCommands": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fssh%2FProfileShellCommand:ProfileShellCommand"
          },
          "description": "SSH command filter. The structure of `shell_commands` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "block": {
            "type": "string",
            "description": "SSH blocking options.\n"
          },
          "defaultCommandLog": {
            "type": "string",
            "description": "Enable/disable logging unmatched shell commands. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fileFilter": {
            "$ref": "#/types/fortios:filter%2Fssh%2FProfileFileFilter:ProfileFileFilter",
            "description": "File filter. The structure of `file_filter` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "log": {
            "type": "string",
            "description": "SSH logging options.\n"
          },
          "name": {
            "type": "string",
            "description": "SSH filter profile name.\n",
            "willReplaceOnChanges": true
          },
          "shellCommands": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fssh%2FProfileShellCommand:ProfileShellCommand"
            },
            "description": "SSH command filter. The structure of `shell_commands` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/video/keyword:Keyword": {
      "description": "Configure video filter keywords. Applies to FortiOS Version `>= 7.4.2`.\n\n## Import\n\nVideofilter Keyword can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/video/keyword:Keyword labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/video/keyword:Keyword labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "match": {
          "type": "string",
          "description": "Keyword matching logic. Valid values: `or`, `and`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "words": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fvideo%2FKeywordWord:KeywordWord"
          },
          "description": "List of keywords. The structure of `word` block is documented below.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "match",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "match": {
          "type": "string",
          "description": "Keyword matching logic. Valid values: `or`, `and`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "words": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fvideo%2FKeywordWord:KeywordWord"
          },
          "description": "List of keywords. The structure of `word` block is documented below.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Keyword resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "match": {
            "type": "string",
            "description": "Keyword matching logic. Valid values: `or`, `and`.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "words": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fvideo%2FKeywordWord:KeywordWord"
            },
            "description": "List of keywords. The structure of `word` block is documented below.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/video/profile:Profile": {
      "description": "Configure VideoFilter profile. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nVideofilter Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/video/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/video/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dailymotion": {
          "type": "string",
          "description": "Enable/disable Dailymotion video source. Valid values: `enable`, `disable`.\n"
        },
        "defaultAction": {
          "type": "string",
          "description": "Video filter default action. Valid values: `allow`, `monitor`, `block`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fvideo%2FProfileFilter:ProfileFilter"
          },
          "description": "YouTube filter entries. The structure of `filters` block is documented below.\n"
        },
        "fortiguardCategory": {
          "$ref": "#/types/fortios:filter%2Fvideo%2FProfileFortiguardCategory:ProfileFortiguardCategory",
          "description": "Configure FortiGuard categories. The structure of `fortiguard_category` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vimeo": {
          "type": "string",
          "description": "Enable/disable Vimeo video source. Valid values: `enable`, `disable`.\n"
        },
        "youtube": {
          "type": "string",
          "description": "Enable/disable YouTube video source. Valid values: `enable`, `disable`.\n"
        },
        "youtubeChannelFilter": {
          "type": "integer",
          "description": "Set YouTube channel filter.\n"
        }
      },
      "type": "object",
      "required": [
        "dailymotion",
        "defaultAction",
        "fortiguardCategory",
        "log",
        "name",
        "replacemsgGroup",
        "vdomparam",
        "vimeo",
        "youtube",
        "youtubeChannelFilter"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dailymotion": {
          "type": "string",
          "description": "Enable/disable Dailymotion video source. Valid values: `enable`, `disable`.\n"
        },
        "defaultAction": {
          "type": "string",
          "description": "Video filter default action. Valid values: `allow`, `monitor`, `block`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fvideo%2FProfileFilter:ProfileFilter"
          },
          "description": "YouTube filter entries. The structure of `filters` block is documented below.\n"
        },
        "fortiguardCategory": {
          "$ref": "#/types/fortios:filter%2Fvideo%2FProfileFortiguardCategory:ProfileFortiguardCategory",
          "description": "Configure FortiGuard categories. The structure of `fortiguard_category` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n",
          "willReplaceOnChanges": true
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vimeo": {
          "type": "string",
          "description": "Enable/disable Vimeo video source. Valid values: `enable`, `disable`.\n"
        },
        "youtube": {
          "type": "string",
          "description": "Enable/disable YouTube video source. Valid values: `enable`, `disable`.\n"
        },
        "youtubeChannelFilter": {
          "type": "integer",
          "description": "Set YouTube channel filter.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dailymotion": {
            "type": "string",
            "description": "Enable/disable Dailymotion video source. Valid values: `enable`, `disable`.\n"
          },
          "defaultAction": {
            "type": "string",
            "description": "Video filter default action. Valid values: `allow`, `monitor`, `block`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fvideo%2FProfileFilter:ProfileFilter"
            },
            "description": "YouTube filter entries. The structure of `filters` block is documented below.\n"
          },
          "fortiguardCategory": {
            "$ref": "#/types/fortios:filter%2Fvideo%2FProfileFortiguardCategory:ProfileFortiguardCategory",
            "description": "Configure FortiGuard categories. The structure of `fortiguard_category` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "log": {
            "type": "string",
            "description": "Enable/disable logging. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n",
            "willReplaceOnChanges": true
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vimeo": {
            "type": "string",
            "description": "Enable/disable Vimeo video source. Valid values: `enable`, `disable`.\n"
          },
          "youtube": {
            "type": "string",
            "description": "Enable/disable YouTube video source. Valid values: `enable`, `disable`.\n"
          },
          "youtubeChannelFilter": {
            "type": "integer",
            "description": "Set YouTube channel filter.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/video/youtubechannelfilter:Youtubechannelfilter": {
      "description": "Configure YouTube channel filter. Applies to FortiOS Version `7.0.1,7.0.2,7.0.3,7.0.4,7.0.5,7.0.6,7.0.7,7.0.8,7.0.9,7.0.10,7.0.11,7.0.12,7.0.13,7.0.14,7.0.15,7.2.0,7.2.1,7.2.2,7.2.3,7.2.4,7.2.6,7.2.7,7.2.8,7.4.0,7.4.1`.\n\n## Import\n\nVideofilter YoutubeChannelFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/video/youtubechannelfilter:Youtubechannelfilter labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/video/youtubechannelfilter:Youtubechannelfilter labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "defaultAction": {
          "type": "string",
          "description": "YouTube channel filter default action. Valid values: `allow`, `monitor`, `block`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fvideo%2FYoutubechannelfilterEntry:YoutubechannelfilterEntry"
          },
          "description": "YouTube filter entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "log": {
          "type": "string",
          "description": "Eanble/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "overrideCategory": {
          "type": "string",
          "description": "Enable/disable overriding category filtering result. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "defaultAction",
        "fosid",
        "log",
        "name",
        "overrideCategory",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "defaultAction": {
          "type": "string",
          "description": "YouTube channel filter default action. Valid values: `allow`, `monitor`, `block`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fvideo%2FYoutubechannelfilterEntry:YoutubechannelfilterEntry"
          },
          "description": "YouTube filter entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "log": {
          "type": "string",
          "description": "Eanble/disable logging. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "overrideCategory": {
          "type": "string",
          "description": "Enable/disable overriding category filtering result. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Youtubechannelfilter resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "defaultAction": {
            "type": "string",
            "description": "YouTube channel filter default action. Valid values: `allow`, `monitor`, `block`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fvideo%2FYoutubechannelfilterEntry:YoutubechannelfilterEntry"
            },
            "description": "YouTube filter entries. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "log": {
            "type": "string",
            "description": "Eanble/disable logging. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n"
          },
          "overrideCategory": {
            "type": "string",
            "description": "Enable/disable overriding category filtering result. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/video/youtubekey:Youtubekey": {
      "description": "Configure YouTube API keys. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nVideofilter YoutubeKey can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/video/youtubekey:Youtubekey labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/video/youtubekey:Youtubekey labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "key": {
          "type": "string",
          "description": "Key.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "key",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "key": {
          "type": "string",
          "description": "Key.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Youtubekey resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "key": {
            "type": "string",
            "description": "Key.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/content:Content": {
      "description": "Configure Web filter banned word table.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Content(\"trname\", {fosid: 1});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Content(\"trname\", fosid=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Content(\"trname\", new()\n    {\n        Fosid = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewContent(ctx, \"trname\", &filter.ContentArgs{\n\t\t\tFosid: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Content;\nimport com.pulumi.fortios.filter.ContentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Content(\"trname\", ContentArgs.builder()\n            .fosid(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Content\n    properties:\n      fosid: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter Content can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/content:Content labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/content:Content labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FContentEntry:ContentEntry"
          },
          "description": "Configure banned word entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FContentEntry:ContentEntry"
          },
          "description": "Configure banned word entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Content resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fweb%2FContentEntry:ContentEntry"
            },
            "description": "Configure banned word entries. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/contentheader:Contentheader": {
      "description": "Configure content types used by Web filter.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Contentheader(\"trname\", {fosid: 1});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Contentheader(\"trname\", fosid=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Contentheader(\"trname\", new()\n    {\n        Fosid = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewContentheader(ctx, \"trname\", &filter.ContentheaderArgs{\n\t\t\tFosid: pulumi.Int(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Contentheader;\nimport com.pulumi.fortios.filter.ContentheaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Contentheader(\"trname\", ContentheaderArgs.builder()\n            .fosid(1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Contentheader\n    properties:\n      fosid: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter ContentHeader can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/contentheader:Contentheader labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/contentheader:Contentheader labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FContentheaderEntry:ContentheaderEntry"
          },
          "description": "Configure content types used by web filter. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FContentheaderEntry:ContentheaderEntry"
          },
          "description": "Configure content types used by web filter. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of table.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Contentheader resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fweb%2FContentheaderEntry:ContentheaderEntry"
            },
            "description": "Configure content types used by web filter. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of table.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/fortiguard:Fortiguard": {
      "description": "Configure FortiGuard Web Filter service.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Fortiguard(\"trname\", {\n    cacheMemPercent: 2,\n    cacheMode: \"ttl\",\n    cachePrefixMatch: \"enable\",\n    closePorts: \"disable\",\n    ovrdAuthHttps: \"enable\",\n    ovrdAuthPort: 8008,\n    ovrdAuthPortHttp: 8008,\n    ovrdAuthPortHttps: 8010,\n    ovrdAuthPortHttpsFlow: 8015,\n    ovrdAuthPortWarning: 8020,\n    warnAuthHttps: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Fortiguard(\"trname\",\n    cache_mem_percent=2,\n    cache_mode=\"ttl\",\n    cache_prefix_match=\"enable\",\n    close_ports=\"disable\",\n    ovrd_auth_https=\"enable\",\n    ovrd_auth_port=8008,\n    ovrd_auth_port_http=8008,\n    ovrd_auth_port_https=8010,\n    ovrd_auth_port_https_flow=8015,\n    ovrd_auth_port_warning=8020,\n    warn_auth_https=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Fortiguard(\"trname\", new()\n    {\n        CacheMemPercent = 2,\n        CacheMode = \"ttl\",\n        CachePrefixMatch = \"enable\",\n        ClosePorts = \"disable\",\n        OvrdAuthHttps = \"enable\",\n        OvrdAuthPort = 8008,\n        OvrdAuthPortHttp = 8008,\n        OvrdAuthPortHttps = 8010,\n        OvrdAuthPortHttpsFlow = 8015,\n        OvrdAuthPortWarning = 8020,\n        WarnAuthHttps = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewFortiguard(ctx, \"trname\", &filter.FortiguardArgs{\n\t\t\tCacheMemPercent:       pulumi.Int(2),\n\t\t\tCacheMode:             pulumi.String(\"ttl\"),\n\t\t\tCachePrefixMatch:      pulumi.String(\"enable\"),\n\t\t\tClosePorts:            pulumi.String(\"disable\"),\n\t\t\tOvrdAuthHttps:         pulumi.String(\"enable\"),\n\t\t\tOvrdAuthPort:          pulumi.Int(8008),\n\t\t\tOvrdAuthPortHttp:      pulumi.Int(8008),\n\t\t\tOvrdAuthPortHttps:     pulumi.Int(8010),\n\t\t\tOvrdAuthPortHttpsFlow: pulumi.Int(8015),\n\t\t\tOvrdAuthPortWarning:   pulumi.Int(8020),\n\t\t\tWarnAuthHttps:         pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Fortiguard;\nimport com.pulumi.fortios.filter.FortiguardArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Fortiguard(\"trname\", FortiguardArgs.builder()\n            .cacheMemPercent(2)\n            .cacheMode(\"ttl\")\n            .cachePrefixMatch(\"enable\")\n            .closePorts(\"disable\")\n            .ovrdAuthHttps(\"enable\")\n            .ovrdAuthPort(8008)\n            .ovrdAuthPortHttp(8008)\n            .ovrdAuthPortHttps(8010)\n            .ovrdAuthPortHttpsFlow(8015)\n            .ovrdAuthPortWarning(8020)\n            .warnAuthHttps(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Fortiguard\n    properties:\n      cacheMemPercent: 2\n      cacheMode: ttl\n      cachePrefixMatch: enable\n      closePorts: disable\n      ovrdAuthHttps: enable\n      ovrdAuthPort: 8008\n      ovrdAuthPortHttp: 8008\n      ovrdAuthPortHttps: 8010\n      ovrdAuthPortHttpsFlow: 8015\n      ovrdAuthPortWarning: 8020\n      warnAuthHttps: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter Fortiguard can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/fortiguard:Fortiguard labelname WebfilterFortiguard\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/fortiguard:Fortiguard labelname WebfilterFortiguard\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cacheMemPercent": {
          "type": "integer",
          "description": "Maximum percentage of available memory allocated to caching (1 - 15).\n"
        },
        "cacheMemPermille": {
          "type": "integer",
          "description": "Maximum permille of available memory allocated to caching (1 - 150).\n"
        },
        "cacheMode": {
          "type": "string",
          "description": "Cache entry expiration mode. Valid values: `ttl`, `db-ver`.\n"
        },
        "cachePrefixMatch": {
          "type": "string",
          "description": "Enable/disable prefix matching in the cache. Valid values: `enable`, `disable`.\n"
        },
        "closePorts": {
          "type": "string",
          "description": "Close ports used for HTTP/HTTPS override authentication and disable user overrides. Valid values: `enable`, `disable`.\n"
        },
        "embedImage": {
          "type": "string",
          "description": "Enable/disable embedding images into replacement messages (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "ovrdAuthHttps": {
          "type": "string",
          "description": "Enable/disable use of HTTPS for override authentication. Valid values: `enable`, `disable`.\n"
        },
        "ovrdAuthPort": {
          "type": "integer",
          "description": "Port to use for FortiGuard Web Filter override authentication.\n"
        },
        "ovrdAuthPortHttp": {
          "type": "integer",
          "description": "Port to use for FortiGuard Web Filter HTTP override authentication\n"
        },
        "ovrdAuthPortHttps": {
          "type": "integer",
          "description": "Port to use for FortiGuard Web Filter HTTPS override authentication in proxy mode.\n"
        },
        "ovrdAuthPortHttpsFlow": {
          "type": "integer",
          "description": "Port to use for FortiGuard Web Filter HTTPS override authentication in flow mode.\n"
        },
        "ovrdAuthPortWarning": {
          "type": "integer",
          "description": "Port to use for FortiGuard Web Filter Warning override authentication.\n"
        },
        "requestPacketSizeLimit": {
          "type": "integer",
          "description": "Limit size of URL request packets sent to FortiGuard server (0 for default).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "warnAuthHttps": {
          "type": "string",
          "description": "Enable/disable use of HTTPS for warning and authentication. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "cacheMemPercent",
        "cacheMemPermille",
        "cacheMode",
        "cachePrefixMatch",
        "closePorts",
        "embedImage",
        "ovrdAuthHttps",
        "ovrdAuthPort",
        "ovrdAuthPortHttp",
        "ovrdAuthPortHttps",
        "ovrdAuthPortHttpsFlow",
        "ovrdAuthPortWarning",
        "requestPacketSizeLimit",
        "vdomparam",
        "warnAuthHttps"
      ],
      "inputProperties": {
        "cacheMemPercent": {
          "type": "integer",
          "description": "Maximum percentage of available memory allocated to caching (1 - 15).\n"
        },
        "cacheMemPermille": {
          "type": "integer",
          "description": "Maximum permille of available memory allocated to caching (1 - 150).\n"
        },
        "cacheMode": {
          "type": "string",
          "description": "Cache entry expiration mode. Valid values: `ttl`, `db-ver`.\n"
        },
        "cachePrefixMatch": {
          "type": "string",
          "description": "Enable/disable prefix matching in the cache. Valid values: `enable`, `disable`.\n"
        },
        "closePorts": {
          "type": "string",
          "description": "Close ports used for HTTP/HTTPS override authentication and disable user overrides. Valid values: `enable`, `disable`.\n"
        },
        "embedImage": {
          "type": "string",
          "description": "Enable/disable embedding images into replacement messages (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "ovrdAuthHttps": {
          "type": "string",
          "description": "Enable/disable use of HTTPS for override authentication. Valid values: `enable`, `disable`.\n"
        },
        "ovrdAuthPort": {
          "type": "integer",
          "description": "Port to use for FortiGuard Web Filter override authentication.\n"
        },
        "ovrdAuthPortHttp": {
          "type": "integer",
          "description": "Port to use for FortiGuard Web Filter HTTP override authentication\n"
        },
        "ovrdAuthPortHttps": {
          "type": "integer",
          "description": "Port to use for FortiGuard Web Filter HTTPS override authentication in proxy mode.\n"
        },
        "ovrdAuthPortHttpsFlow": {
          "type": "integer",
          "description": "Port to use for FortiGuard Web Filter HTTPS override authentication in flow mode.\n"
        },
        "ovrdAuthPortWarning": {
          "type": "integer",
          "description": "Port to use for FortiGuard Web Filter Warning override authentication.\n"
        },
        "requestPacketSizeLimit": {
          "type": "integer",
          "description": "Limit size of URL request packets sent to FortiGuard server (0 for default).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "warnAuthHttps": {
          "type": "string",
          "description": "Enable/disable use of HTTPS for warning and authentication. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Fortiguard resources.\n",
        "properties": {
          "cacheMemPercent": {
            "type": "integer",
            "description": "Maximum percentage of available memory allocated to caching (1 - 15).\n"
          },
          "cacheMemPermille": {
            "type": "integer",
            "description": "Maximum permille of available memory allocated to caching (1 - 150).\n"
          },
          "cacheMode": {
            "type": "string",
            "description": "Cache entry expiration mode. Valid values: `ttl`, `db-ver`.\n"
          },
          "cachePrefixMatch": {
            "type": "string",
            "description": "Enable/disable prefix matching in the cache. Valid values: `enable`, `disable`.\n"
          },
          "closePorts": {
            "type": "string",
            "description": "Close ports used for HTTP/HTTPS override authentication and disable user overrides. Valid values: `enable`, `disable`.\n"
          },
          "embedImage": {
            "type": "string",
            "description": "Enable/disable embedding images into replacement messages (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "ovrdAuthHttps": {
            "type": "string",
            "description": "Enable/disable use of HTTPS for override authentication. Valid values: `enable`, `disable`.\n"
          },
          "ovrdAuthPort": {
            "type": "integer",
            "description": "Port to use for FortiGuard Web Filter override authentication.\n"
          },
          "ovrdAuthPortHttp": {
            "type": "integer",
            "description": "Port to use for FortiGuard Web Filter HTTP override authentication\n"
          },
          "ovrdAuthPortHttps": {
            "type": "integer",
            "description": "Port to use for FortiGuard Web Filter HTTPS override authentication in proxy mode.\n"
          },
          "ovrdAuthPortHttpsFlow": {
            "type": "integer",
            "description": "Port to use for FortiGuard Web Filter HTTPS override authentication in flow mode.\n"
          },
          "ovrdAuthPortWarning": {
            "type": "integer",
            "description": "Port to use for FortiGuard Web Filter Warning override authentication.\n"
          },
          "requestPacketSizeLimit": {
            "type": "integer",
            "description": "Limit size of URL request packets sent to FortiGuard server (0 for default).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "warnAuthHttps": {
            "type": "string",
            "description": "Enable/disable use of HTTPS for warning and authentication. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/ftgdlocalcat:Ftgdlocalcat": {
      "description": "Configure FortiGuard Web Filter local categories.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Ftgdlocalcat(\"trname\", {\n    desc: \"s1\",\n    fosid: 188,\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Ftgdlocalcat(\"trname\",\n    desc=\"s1\",\n    fosid=188,\n    status=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Ftgdlocalcat(\"trname\", new()\n    {\n        Desc = \"s1\",\n        Fosid = 188,\n        Status = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewFtgdlocalcat(ctx, \"trname\", &filter.FtgdlocalcatArgs{\n\t\t\tDesc:   pulumi.String(\"s1\"),\n\t\t\tFosid:  pulumi.Int(188),\n\t\t\tStatus: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Ftgdlocalcat;\nimport com.pulumi.fortios.filter.FtgdlocalcatArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Ftgdlocalcat(\"trname\", FtgdlocalcatArgs.builder()\n            .desc(\"s1\")\n            .fosid(188)\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Ftgdlocalcat\n    properties:\n      desc: s1\n      fosid: 188\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter FtgdLocalCat can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/ftgdlocalcat:Ftgdlocalcat labelname {{desc}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/ftgdlocalcat:Ftgdlocalcat labelname {{desc}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "desc": {
          "type": "string",
          "description": "Local category description.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Local category ID.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the local category. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "desc",
        "fosid",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "desc": {
          "type": "string",
          "description": "Local category description.\n",
          "willReplaceOnChanges": true
        },
        "fosid": {
          "type": "integer",
          "description": "Local category ID.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the local category. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ftgdlocalcat resources.\n",
        "properties": {
          "desc": {
            "type": "string",
            "description": "Local category description.\n",
            "willReplaceOnChanges": true
          },
          "fosid": {
            "type": "integer",
            "description": "Local category ID.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable the local category. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/ftgdlocalrating:Ftgdlocalrating": {
      "description": "Configure local FortiGuard Web Filter local ratings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Ftgdlocalrating(\"trname\", {\n    rating: \"1\",\n    status: \"enable\",\n    url: \"sgala.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Ftgdlocalrating(\"trname\",\n    rating=\"1\",\n    status=\"enable\",\n    url=\"sgala.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Ftgdlocalrating(\"trname\", new()\n    {\n        Rating = \"1\",\n        Status = \"enable\",\n        Url = \"sgala.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewFtgdlocalrating(ctx, \"trname\", &filter.FtgdlocalratingArgs{\n\t\t\tRating: pulumi.String(\"1\"),\n\t\t\tStatus: pulumi.String(\"enable\"),\n\t\t\tUrl:    pulumi.String(\"sgala.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Ftgdlocalrating;\nimport com.pulumi.fortios.filter.FtgdlocalratingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Ftgdlocalrating(\"trname\", FtgdlocalratingArgs.builder()\n            .rating(\"1\")\n            .status(\"enable\")\n            .url(\"sgala.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Ftgdlocalrating\n    properties:\n      rating: '1'\n      status: enable\n      url: sgala.com\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter FtgdLocalRating can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/ftgdlocalrating:Ftgdlocalrating labelname {{url}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/ftgdlocalrating:Ftgdlocalrating labelname {{url}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "rating": {
          "type": "string",
          "description": "Local rating.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable local rating. Valid values: `enable`, `disable`.\n"
        },
        "url": {
          "type": "string",
          "description": "URL to rate locally.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "rating",
        "status",
        "url",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "rating": {
          "type": "string",
          "description": "Local rating.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable local rating. Valid values: `enable`, `disable`.\n"
        },
        "url": {
          "type": "string",
          "description": "URL to rate locally.\n",
          "willReplaceOnChanges": true
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "rating"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ftgdlocalrating resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "rating": {
            "type": "string",
            "description": "Local rating.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable local rating. Valid values: `enable`, `disable`.\n"
          },
          "url": {
            "type": "string",
            "description": "URL to rate locally.\n",
            "willReplaceOnChanges": true
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/ipsurlfiltercachesetting:Ipsurlfiltercachesetting": {
      "description": "Configure IPS URL filter cache settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Ipsurlfiltercachesetting(\"trname\", {\n    dnsRetryInterval: 0,\n    extendedTtl: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Ipsurlfiltercachesetting(\"trname\",\n    dns_retry_interval=0,\n    extended_ttl=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Ipsurlfiltercachesetting(\"trname\", new()\n    {\n        DnsRetryInterval = 0,\n        ExtendedTtl = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewIpsurlfiltercachesetting(ctx, \"trname\", &filter.IpsurlfiltercachesettingArgs{\n\t\t\tDnsRetryInterval: pulumi.Int(0),\n\t\t\tExtendedTtl:      pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Ipsurlfiltercachesetting;\nimport com.pulumi.fortios.filter.IpsurlfiltercachesettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Ipsurlfiltercachesetting(\"trname\", IpsurlfiltercachesettingArgs.builder()\n            .dnsRetryInterval(0)\n            .extendedTtl(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Ipsurlfiltercachesetting\n    properties:\n      dnsRetryInterval: 0\n      extendedTtl: 0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter IpsUrlfilterCacheSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/ipsurlfiltercachesetting:Ipsurlfiltercachesetting labelname WebfilterIpsUrlfilterCacheSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/ipsurlfiltercachesetting:Ipsurlfiltercachesetting labelname WebfilterIpsUrlfilterCacheSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dnsRetryInterval": {
          "type": "integer",
          "description": "Retry interval. Refresh DNS faster than TTL to capture multiple IPs for hosts. 0 means use DNS server's TTL only.\n"
        },
        "extendedTtl": {
          "type": "integer",
          "description": "Extend time to live beyond reported by DNS. 0 means use DNS server's TTL\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dnsRetryInterval",
        "extendedTtl",
        "vdomparam"
      ],
      "inputProperties": {
        "dnsRetryInterval": {
          "type": "integer",
          "description": "Retry interval. Refresh DNS faster than TTL to capture multiple IPs for hosts. 0 means use DNS server's TTL only.\n"
        },
        "extendedTtl": {
          "type": "integer",
          "description": "Extend time to live beyond reported by DNS. 0 means use DNS server's TTL\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ipsurlfiltercachesetting resources.\n",
        "properties": {
          "dnsRetryInterval": {
            "type": "integer",
            "description": "Retry interval. Refresh DNS faster than TTL to capture multiple IPs for hosts. 0 means use DNS server's TTL only.\n"
          },
          "extendedTtl": {
            "type": "integer",
            "description": "Extend time to live beyond reported by DNS. 0 means use DNS server's TTL\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/ipsurlfiltersetting6:Ipsurlfiltersetting6": {
      "description": "Configure IPS URL filter settings for IPv6.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Ipsurlfiltersetting6(\"trname\", {\n    distance: 1,\n    gateway6: \"::\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Ipsurlfiltersetting6(\"trname\",\n    distance=1,\n    gateway6=\"::\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Ipsurlfiltersetting6(\"trname\", new()\n    {\n        Distance = 1,\n        Gateway6 = \"::\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewIpsurlfiltersetting6(ctx, \"trname\", &filter.Ipsurlfiltersetting6Args{\n\t\t\tDistance: pulumi.Int(1),\n\t\t\tGateway6: pulumi.String(\"::\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Ipsurlfiltersetting6;\nimport com.pulumi.fortios.filter.Ipsurlfiltersetting6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Ipsurlfiltersetting6(\"trname\", Ipsurlfiltersetting6Args.builder()\n            .distance(1)\n            .gateway6(\"::\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Ipsurlfiltersetting6\n    properties:\n      distance: 1\n      gateway6: '::'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter IpsUrlfilterSetting6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/ipsurlfiltersetting6:Ipsurlfiltersetting6 labelname WebfilterIpsUrlfilterSetting6\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/ipsurlfiltersetting6:Ipsurlfiltersetting6 labelname WebfilterIpsUrlfilterSetting6\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "device": {
          "type": "string",
          "description": "Interface for this route.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Administrative distance (1 - 255) for this route.\n"
        },
        "gateway6": {
          "type": "string",
          "description": "Gateway IPv6 address for this route.\n"
        },
        "geoFilter": {
          "type": "string",
          "description": "Filter based on geographical location. Route will NOT be installed if the resolved IPv6 address belongs to the country in the filter.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "device",
        "distance",
        "gateway6",
        "vdomparam"
      ],
      "inputProperties": {
        "device": {
          "type": "string",
          "description": "Interface for this route.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Administrative distance (1 - 255) for this route.\n"
        },
        "gateway6": {
          "type": "string",
          "description": "Gateway IPv6 address for this route.\n"
        },
        "geoFilter": {
          "type": "string",
          "description": "Filter based on geographical location. Route will NOT be installed if the resolved IPv6 address belongs to the country in the filter.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ipsurlfiltersetting6 resources.\n",
        "properties": {
          "device": {
            "type": "string",
            "description": "Interface for this route.\n"
          },
          "distance": {
            "type": "integer",
            "description": "Administrative distance (1 - 255) for this route.\n"
          },
          "gateway6": {
            "type": "string",
            "description": "Gateway IPv6 address for this route.\n"
          },
          "geoFilter": {
            "type": "string",
            "description": "Filter based on geographical location. Route will NOT be installed if the resolved IPv6 address belongs to the country in the filter.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/ipsurlfiltersetting:Ipsurlfiltersetting": {
      "description": "Configure IPS URL filter settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Ipsurlfiltersetting(\"trname\", {\n    distance: 1,\n    gateway: \"0.0.0.0\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Ipsurlfiltersetting(\"trname\",\n    distance=1,\n    gateway=\"0.0.0.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Ipsurlfiltersetting(\"trname\", new()\n    {\n        Distance = 1,\n        Gateway = \"0.0.0.0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewIpsurlfiltersetting(ctx, \"trname\", &filter.IpsurlfiltersettingArgs{\n\t\t\tDistance: pulumi.Int(1),\n\t\t\tGateway:  pulumi.String(\"0.0.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Ipsurlfiltersetting;\nimport com.pulumi.fortios.filter.IpsurlfiltersettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Ipsurlfiltersetting(\"trname\", IpsurlfiltersettingArgs.builder()\n            .distance(1)\n            .gateway(\"0.0.0.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Ipsurlfiltersetting\n    properties:\n      distance: 1\n      gateway: 0.0.0.0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter IpsUrlfilterSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/ipsurlfiltersetting:Ipsurlfiltersetting labelname WebfilterIpsUrlfilterSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/ipsurlfiltersetting:Ipsurlfiltersetting labelname WebfilterIpsUrlfilterSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "device": {
          "type": "string",
          "description": "Interface for this route.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Administrative distance (1 - 255) for this route.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP address for this route.\n"
        },
        "geoFilter": {
          "type": "string",
          "description": "Filter based on geographical location. Route will NOT be installed if the resolved IP address belongs to the country in the filter.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "device",
        "distance",
        "gateway",
        "vdomparam"
      ],
      "inputProperties": {
        "device": {
          "type": "string",
          "description": "Interface for this route.\n"
        },
        "distance": {
          "type": "integer",
          "description": "Administrative distance (1 - 255) for this route.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP address for this route.\n"
        },
        "geoFilter": {
          "type": "string",
          "description": "Filter based on geographical location. Route will NOT be installed if the resolved IP address belongs to the country in the filter.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ipsurlfiltersetting resources.\n",
        "properties": {
          "device": {
            "type": "string",
            "description": "Interface for this route.\n"
          },
          "distance": {
            "type": "integer",
            "description": "Administrative distance (1 - 255) for this route.\n"
          },
          "gateway": {
            "type": "string",
            "description": "Gateway IP address for this route.\n"
          },
          "geoFilter": {
            "type": "string",
            "description": "Filter based on geographical location. Route will NOT be installed if the resolved IP address belongs to the country in the filter.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/override:Override": {
      "description": "Configure FortiGuard Web Filter administrative overrides.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Override(\"trname\", {\n    expires: \"2021/03/16 19:18:25\",\n    fosid: 1,\n    ip: \"69.101.119.0\",\n    ip6: \"4565:7700::\",\n    newProfile: \"monitor-all\",\n    oldProfile: \"default\",\n    scope: \"user\",\n    status: \"disable\",\n    user: \"Eew\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Override(\"trname\",\n    expires=\"2021/03/16 19:18:25\",\n    fosid=1,\n    ip=\"69.101.119.0\",\n    ip6=\"4565:7700::\",\n    new_profile=\"monitor-all\",\n    old_profile=\"default\",\n    scope=\"user\",\n    status=\"disable\",\n    user=\"Eew\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Override(\"trname\", new()\n    {\n        Expires = \"2021/03/16 19:18:25\",\n        Fosid = 1,\n        Ip = \"69.101.119.0\",\n        Ip6 = \"4565:7700::\",\n        NewProfile = \"monitor-all\",\n        OldProfile = \"default\",\n        Scope = \"user\",\n        Status = \"disable\",\n        User = \"Eew\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewOverride(ctx, \"trname\", &filter.OverrideArgs{\n\t\t\tExpires:    pulumi.String(\"2021/03/16 19:18:25\"),\n\t\t\tFosid:      pulumi.Int(1),\n\t\t\tIp:         pulumi.String(\"69.101.119.0\"),\n\t\t\tIp6:        pulumi.String(\"4565:7700::\"),\n\t\t\tNewProfile: pulumi.String(\"monitor-all\"),\n\t\t\tOldProfile: pulumi.String(\"default\"),\n\t\t\tScope:      pulumi.String(\"user\"),\n\t\t\tStatus:     pulumi.String(\"disable\"),\n\t\t\tUser:       pulumi.String(\"Eew\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Override;\nimport com.pulumi.fortios.filter.OverrideArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Override(\"trname\", OverrideArgs.builder()\n            .expires(\"2021/03/16 19:18:25\")\n            .fosid(1)\n            .ip(\"69.101.119.0\")\n            .ip6(\"4565:7700::\")\n            .newProfile(\"monitor-all\")\n            .oldProfile(\"default\")\n            .scope(\"user\")\n            .status(\"disable\")\n            .user(\"Eew\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Override\n    properties:\n      expires: 2021/03/16 19:18:25\n      fosid: 1\n      ip: 69.101.119.0\n      ip6: '4565:7700::'\n      newProfile: monitor-all\n      oldProfile: default\n      scope: user\n      status: disable\n      user: Eew\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter Override can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/override:Override labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/override:Override labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "expires": {
          "type": "string",
          "description": "Override expiration date and time, from 5 minutes to 365 from now (format: yyyy/mm/dd hh:mm:ss).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Override rule ID.\n"
        },
        "initiator": {
          "type": "string",
          "description": "Initiating user of override (read-only setting).\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address which the override applies.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address which the override applies.\n"
        },
        "newProfile": {
          "type": "string",
          "description": "Name of the new web filter profile used by the override.\n"
        },
        "oldProfile": {
          "type": "string",
          "description": "Name of the web filter profile which the override applies.\n"
        },
        "scope": {
          "type": "string",
          "description": "Override either the specific user, user group, IPv4 address, or IPv6 address. Valid values: `user`, `user-group`, `ip`, `ip6`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable override rule. Valid values: `enable`, `disable`.\n"
        },
        "user": {
          "type": "string",
          "description": "Name of the user which the override applies.\n"
        },
        "userGroup": {
          "type": "string",
          "description": "Specify the user group for which the override applies.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "expires",
        "fosid",
        "initiator",
        "ip",
        "ip6",
        "newProfile",
        "oldProfile",
        "scope",
        "status",
        "user",
        "userGroup",
        "vdomparam"
      ],
      "inputProperties": {
        "expires": {
          "type": "string",
          "description": "Override expiration date and time, from 5 minutes to 365 from now (format: yyyy/mm/dd hh:mm:ss).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Override rule ID.\n",
          "willReplaceOnChanges": true
        },
        "initiator": {
          "type": "string",
          "description": "Initiating user of override (read-only setting).\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address which the override applies.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address which the override applies.\n"
        },
        "newProfile": {
          "type": "string",
          "description": "Name of the new web filter profile used by the override.\n"
        },
        "oldProfile": {
          "type": "string",
          "description": "Name of the web filter profile which the override applies.\n"
        },
        "scope": {
          "type": "string",
          "description": "Override either the specific user, user group, IPv4 address, or IPv6 address. Valid values: `user`, `user-group`, `ip`, `ip6`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable override rule. Valid values: `enable`, `disable`.\n"
        },
        "user": {
          "type": "string",
          "description": "Name of the user which the override applies.\n"
        },
        "userGroup": {
          "type": "string",
          "description": "Specify the user group for which the override applies.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "expires",
        "newProfile",
        "oldProfile",
        "user"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Override resources.\n",
        "properties": {
          "expires": {
            "type": "string",
            "description": "Override expiration date and time, from 5 minutes to 365 from now (format: yyyy/mm/dd hh:mm:ss).\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Override rule ID.\n",
            "willReplaceOnChanges": true
          },
          "initiator": {
            "type": "string",
            "description": "Initiating user of override (read-only setting).\n"
          },
          "ip": {
            "type": "string",
            "description": "IPv4 address which the override applies.\n"
          },
          "ip6": {
            "type": "string",
            "description": "IPv6 address which the override applies.\n"
          },
          "newProfile": {
            "type": "string",
            "description": "Name of the new web filter profile used by the override.\n"
          },
          "oldProfile": {
            "type": "string",
            "description": "Name of the web filter profile which the override applies.\n"
          },
          "scope": {
            "type": "string",
            "description": "Override either the specific user, user group, IPv4 address, or IPv6 address. Valid values: `user`, `user-group`, `ip`, `ip6`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable override rule. Valid values: `enable`, `disable`.\n"
          },
          "user": {
            "type": "string",
            "description": "Name of the user which the override applies.\n"
          },
          "userGroup": {
            "type": "string",
            "description": "Specify the user group for which the override applies.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/profile:Profile": {
      "description": "Configure Web filter profiles.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Profile(\"trname\", {\n    extendedLog: \"disable\",\n    ftgdWf: {\n        exemptQuota: \"17\",\n        filters: [\n            {\n                action: \"warning\",\n                category: 2,\n                id: 1,\n                log: \"enable\",\n                warnDuration: \"5m\",\n                warningDurationType: \"timeout\",\n                warningPrompt: \"per-category\",\n            },\n            {\n                action: \"warning\",\n                category: 7,\n                id: 2,\n                log: \"enable\",\n                warnDuration: \"5m\",\n                warningDurationType: \"timeout\",\n                warningPrompt: \"per-category\",\n            },\n        ],\n        maxQuotaTimeout: 300,\n        rateCrlUrls: \"enable\",\n        rateCssUrls: \"enable\",\n        rateImageUrls: \"enable\",\n        rateJavascriptUrls: \"enable\",\n    },\n    httpsReplacemsg: \"enable\",\n    inspectionMode: \"flow-based\",\n    logAllUrl: \"disable\",\n    override: {\n        ovrdCookie: \"deny\",\n        ovrdDur: \"15m\",\n        ovrdDurMode: \"constant\",\n        ovrdScope: \"user\",\n        profileAttribute: \"Login-LAT-Service\",\n        profileType: \"list\",\n    },\n    postAction: \"normal\",\n    web: {\n        blacklist: \"disable\",\n        bwordTable: 0,\n        bwordThreshold: 10,\n        contentHeaderList: 0,\n        logSearch: \"disable\",\n        urlfilterTable: 0,\n        youtubeRestrict: \"none\",\n    },\n    webContentLog: \"enable\",\n    webExtendedAllActionLog: \"disable\",\n    webFilterActivexLog: \"enable\",\n    webFilterAppletLog: \"enable\",\n    webFilterCommandBlockLog: \"enable\",\n    webFilterCookieLog: \"enable\",\n    webFilterCookieRemovalLog: \"enable\",\n    webFilterJsLog: \"enable\",\n    webFilterJscriptLog: \"enable\",\n    webFilterRefererLog: \"enable\",\n    webFilterUnknownLog: \"enable\",\n    webFilterVbsLog: \"enable\",\n    webFtgdErrLog: \"enable\",\n    webFtgdQuotaUsage: \"enable\",\n    webInvalidDomainLog: \"enable\",\n    webUrlLog: \"enable\",\n    wisp: \"disable\",\n    wispAlgorithm: \"auto-learning\",\n    youtubeChannelStatus: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Profile(\"trname\",\n    extended_log=\"disable\",\n    ftgd_wf=fortios.filter.web.ProfileFtgdWfArgs(\n        exempt_quota=\"17\",\n        filters=[\n            fortios.filter.web.ProfileFtgdWfFilterArgs(\n                action=\"warning\",\n                category=2,\n                id=1,\n                log=\"enable\",\n                warn_duration=\"5m\",\n                warning_duration_type=\"timeout\",\n                warning_prompt=\"per-category\",\n            ),\n            fortios.filter.web.ProfileFtgdWfFilterArgs(\n                action=\"warning\",\n                category=7,\n                id=2,\n                log=\"enable\",\n                warn_duration=\"5m\",\n                warning_duration_type=\"timeout\",\n                warning_prompt=\"per-category\",\n            ),\n        ],\n        max_quota_timeout=300,\n        rate_crl_urls=\"enable\",\n        rate_css_urls=\"enable\",\n        rate_image_urls=\"enable\",\n        rate_javascript_urls=\"enable\",\n    ),\n    https_replacemsg=\"enable\",\n    inspection_mode=\"flow-based\",\n    log_all_url=\"disable\",\n    override=fortios.filter.web.ProfileOverrideArgs(\n        ovrd_cookie=\"deny\",\n        ovrd_dur=\"15m\",\n        ovrd_dur_mode=\"constant\",\n        ovrd_scope=\"user\",\n        profile_attribute=\"Login-LAT-Service\",\n        profile_type=\"list\",\n    ),\n    post_action=\"normal\",\n    web=fortios.filter.web.ProfileWebArgs(\n        blacklist=\"disable\",\n        bword_table=0,\n        bword_threshold=10,\n        content_header_list=0,\n        log_search=\"disable\",\n        urlfilter_table=0,\n        youtube_restrict=\"none\",\n    ),\n    web_content_log=\"enable\",\n    web_extended_all_action_log=\"disable\",\n    web_filter_activex_log=\"enable\",\n    web_filter_applet_log=\"enable\",\n    web_filter_command_block_log=\"enable\",\n    web_filter_cookie_log=\"enable\",\n    web_filter_cookie_removal_log=\"enable\",\n    web_filter_js_log=\"enable\",\n    web_filter_jscript_log=\"enable\",\n    web_filter_referer_log=\"enable\",\n    web_filter_unknown_log=\"enable\",\n    web_filter_vbs_log=\"enable\",\n    web_ftgd_err_log=\"enable\",\n    web_ftgd_quota_usage=\"enable\",\n    web_invalid_domain_log=\"enable\",\n    web_url_log=\"enable\",\n    wisp=\"disable\",\n    wisp_algorithm=\"auto-learning\",\n    youtube_channel_status=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Profile(\"trname\", new()\n    {\n        ExtendedLog = \"disable\",\n        FtgdWf = new Fortios.Filter.Web.Inputs.ProfileFtgdWfArgs\n        {\n            ExemptQuota = \"17\",\n            Filters = new[]\n            {\n                new Fortios.Filter.Web.Inputs.ProfileFtgdWfFilterArgs\n                {\n                    Action = \"warning\",\n                    Category = 2,\n                    Id = 1,\n                    Log = \"enable\",\n                    WarnDuration = \"5m\",\n                    WarningDurationType = \"timeout\",\n                    WarningPrompt = \"per-category\",\n                },\n                new Fortios.Filter.Web.Inputs.ProfileFtgdWfFilterArgs\n                {\n                    Action = \"warning\",\n                    Category = 7,\n                    Id = 2,\n                    Log = \"enable\",\n                    WarnDuration = \"5m\",\n                    WarningDurationType = \"timeout\",\n                    WarningPrompt = \"per-category\",\n                },\n            },\n            MaxQuotaTimeout = 300,\n            RateCrlUrls = \"enable\",\n            RateCssUrls = \"enable\",\n            RateImageUrls = \"enable\",\n            RateJavascriptUrls = \"enable\",\n        },\n        HttpsReplacemsg = \"enable\",\n        InspectionMode = \"flow-based\",\n        LogAllUrl = \"disable\",\n        Override = new Fortios.Filter.Web.Inputs.ProfileOverrideArgs\n        {\n            OvrdCookie = \"deny\",\n            OvrdDur = \"15m\",\n            OvrdDurMode = \"constant\",\n            OvrdScope = \"user\",\n            ProfileAttribute = \"Login-LAT-Service\",\n            ProfileType = \"list\",\n        },\n        PostAction = \"normal\",\n        Web = new Fortios.Filter.Web.Inputs.ProfileWebArgs\n        {\n            Blacklist = \"disable\",\n            BwordTable = 0,\n            BwordThreshold = 10,\n            ContentHeaderList = 0,\n            LogSearch = \"disable\",\n            UrlfilterTable = 0,\n            YoutubeRestrict = \"none\",\n        },\n        WebContentLog = \"enable\",\n        WebExtendedAllActionLog = \"disable\",\n        WebFilterActivexLog = \"enable\",\n        WebFilterAppletLog = \"enable\",\n        WebFilterCommandBlockLog = \"enable\",\n        WebFilterCookieLog = \"enable\",\n        WebFilterCookieRemovalLog = \"enable\",\n        WebFilterJsLog = \"enable\",\n        WebFilterJscriptLog = \"enable\",\n        WebFilterRefererLog = \"enable\",\n        WebFilterUnknownLog = \"enable\",\n        WebFilterVbsLog = \"enable\",\n        WebFtgdErrLog = \"enable\",\n        WebFtgdQuotaUsage = \"enable\",\n        WebInvalidDomainLog = \"enable\",\n        WebUrlLog = \"enable\",\n        Wisp = \"disable\",\n        WispAlgorithm = \"auto-learning\",\n        YoutubeChannelStatus = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewProfile(ctx, \"trname\", &filter.ProfileArgs{\n\t\t\tExtendedLog: pulumi.String(\"disable\"),\n\t\t\tFtgdWf: &web.ProfileFtgdWfArgs{\n\t\t\t\tExemptQuota: pulumi.String(\"17\"),\n\t\t\t\tFilters: web.ProfileFtgdWfFilterArray{\n\t\t\t\t\t&web.ProfileFtgdWfFilterArgs{\n\t\t\t\t\t\tAction:              pulumi.String(\"warning\"),\n\t\t\t\t\t\tCategory:            pulumi.Int(2),\n\t\t\t\t\t\tId:                  pulumi.Int(1),\n\t\t\t\t\t\tLog:                 pulumi.String(\"enable\"),\n\t\t\t\t\t\tWarnDuration:        pulumi.String(\"5m\"),\n\t\t\t\t\t\tWarningDurationType: pulumi.String(\"timeout\"),\n\t\t\t\t\t\tWarningPrompt:       pulumi.String(\"per-category\"),\n\t\t\t\t\t},\n\t\t\t\t\t&web.ProfileFtgdWfFilterArgs{\n\t\t\t\t\t\tAction:              pulumi.String(\"warning\"),\n\t\t\t\t\t\tCategory:            pulumi.Int(7),\n\t\t\t\t\t\tId:                  pulumi.Int(2),\n\t\t\t\t\t\tLog:                 pulumi.String(\"enable\"),\n\t\t\t\t\t\tWarnDuration:        pulumi.String(\"5m\"),\n\t\t\t\t\t\tWarningDurationType: pulumi.String(\"timeout\"),\n\t\t\t\t\t\tWarningPrompt:       pulumi.String(\"per-category\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMaxQuotaTimeout:    pulumi.Int(300),\n\t\t\t\tRateCrlUrls:        pulumi.String(\"enable\"),\n\t\t\t\tRateCssUrls:        pulumi.String(\"enable\"),\n\t\t\t\tRateImageUrls:      pulumi.String(\"enable\"),\n\t\t\t\tRateJavascriptUrls: pulumi.String(\"enable\"),\n\t\t\t},\n\t\t\tHttpsReplacemsg: pulumi.String(\"enable\"),\n\t\t\tInspectionMode:  pulumi.String(\"flow-based\"),\n\t\t\tLogAllUrl:       pulumi.String(\"disable\"),\n\t\t\tOverride: &web.ProfileOverrideArgs{\n\t\t\t\tOvrdCookie:       pulumi.String(\"deny\"),\n\t\t\t\tOvrdDur:          pulumi.String(\"15m\"),\n\t\t\t\tOvrdDurMode:      pulumi.String(\"constant\"),\n\t\t\t\tOvrdScope:        pulumi.String(\"user\"),\n\t\t\t\tProfileAttribute: pulumi.String(\"Login-LAT-Service\"),\n\t\t\t\tProfileType:      pulumi.String(\"list\"),\n\t\t\t},\n\t\t\tPostAction: pulumi.String(\"normal\"),\n\t\t\tWeb: &web.ProfileWebArgs{\n\t\t\t\tBlacklist:         pulumi.String(\"disable\"),\n\t\t\t\tBwordTable:        pulumi.Int(0),\n\t\t\t\tBwordThreshold:    pulumi.Int(10),\n\t\t\t\tContentHeaderList: pulumi.Int(0),\n\t\t\t\tLogSearch:         pulumi.String(\"disable\"),\n\t\t\t\tUrlfilterTable:    pulumi.Int(0),\n\t\t\t\tYoutubeRestrict:   pulumi.String(\"none\"),\n\t\t\t},\n\t\t\tWebContentLog:             pulumi.String(\"enable\"),\n\t\t\tWebExtendedAllActionLog:   pulumi.String(\"disable\"),\n\t\t\tWebFilterActivexLog:       pulumi.String(\"enable\"),\n\t\t\tWebFilterAppletLog:        pulumi.String(\"enable\"),\n\t\t\tWebFilterCommandBlockLog:  pulumi.String(\"enable\"),\n\t\t\tWebFilterCookieLog:        pulumi.String(\"enable\"),\n\t\t\tWebFilterCookieRemovalLog: pulumi.String(\"enable\"),\n\t\t\tWebFilterJsLog:            pulumi.String(\"enable\"),\n\t\t\tWebFilterJscriptLog:       pulumi.String(\"enable\"),\n\t\t\tWebFilterRefererLog:       pulumi.String(\"enable\"),\n\t\t\tWebFilterUnknownLog:       pulumi.String(\"enable\"),\n\t\t\tWebFilterVbsLog:           pulumi.String(\"enable\"),\n\t\t\tWebFtgdErrLog:             pulumi.String(\"enable\"),\n\t\t\tWebFtgdQuotaUsage:         pulumi.String(\"enable\"),\n\t\t\tWebInvalidDomainLog:       pulumi.String(\"enable\"),\n\t\t\tWebUrlLog:                 pulumi.String(\"enable\"),\n\t\t\tWisp:                      pulumi.String(\"disable\"),\n\t\t\tWispAlgorithm:             pulumi.String(\"auto-learning\"),\n\t\t\tYoutubeChannelStatus:      pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Profile;\nimport com.pulumi.fortios.filter.ProfileArgs;\nimport com.pulumi.fortios.filter.inputs.ProfileFtgdWfArgs;\nimport com.pulumi.fortios.filter.inputs.ProfileOverrideArgs;\nimport com.pulumi.fortios.filter.inputs.ProfileWebArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Profile(\"trname\", ProfileArgs.builder()\n            .extendedLog(\"disable\")\n            .ftgdWf(ProfileFtgdWfArgs.builder()\n                .exemptQuota(\"17\")\n                .filters(                \n                    ProfileFtgdWfFilterArgs.builder()\n                        .action(\"warning\")\n                        .category(2)\n                        .id(1)\n                        .log(\"enable\")\n                        .warnDuration(\"5m\")\n                        .warningDurationType(\"timeout\")\n                        .warningPrompt(\"per-category\")\n                        .build(),\n                    ProfileFtgdWfFilterArgs.builder()\n                        .action(\"warning\")\n                        .category(7)\n                        .id(2)\n                        .log(\"enable\")\n                        .warnDuration(\"5m\")\n                        .warningDurationType(\"timeout\")\n                        .warningPrompt(\"per-category\")\n                        .build())\n                .maxQuotaTimeout(300)\n                .rateCrlUrls(\"enable\")\n                .rateCssUrls(\"enable\")\n                .rateImageUrls(\"enable\")\n                .rateJavascriptUrls(\"enable\")\n                .build())\n            .httpsReplacemsg(\"enable\")\n            .inspectionMode(\"flow-based\")\n            .logAllUrl(\"disable\")\n            .override(ProfileOverrideArgs.builder()\n                .ovrdCookie(\"deny\")\n                .ovrdDur(\"15m\")\n                .ovrdDurMode(\"constant\")\n                .ovrdScope(\"user\")\n                .profileAttribute(\"Login-LAT-Service\")\n                .profileType(\"list\")\n                .build())\n            .postAction(\"normal\")\n            .web(ProfileWebArgs.builder()\n                .blacklist(\"disable\")\n                .bwordTable(0)\n                .bwordThreshold(10)\n                .contentHeaderList(0)\n                .logSearch(\"disable\")\n                .urlfilterTable(0)\n                .youtubeRestrict(\"none\")\n                .build())\n            .webContentLog(\"enable\")\n            .webExtendedAllActionLog(\"disable\")\n            .webFilterActivexLog(\"enable\")\n            .webFilterAppletLog(\"enable\")\n            .webFilterCommandBlockLog(\"enable\")\n            .webFilterCookieLog(\"enable\")\n            .webFilterCookieRemovalLog(\"enable\")\n            .webFilterJsLog(\"enable\")\n            .webFilterJscriptLog(\"enable\")\n            .webFilterRefererLog(\"enable\")\n            .webFilterUnknownLog(\"enable\")\n            .webFilterVbsLog(\"enable\")\n            .webFtgdErrLog(\"enable\")\n            .webFtgdQuotaUsage(\"enable\")\n            .webInvalidDomainLog(\"enable\")\n            .webUrlLog(\"enable\")\n            .wisp(\"disable\")\n            .wispAlgorithm(\"auto-learning\")\n            .youtubeChannelStatus(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Profile\n    properties:\n      extendedLog: disable\n      ftgdWf:\n        exemptQuota: '17'\n        filters:\n          - action: warning\n            category: 2\n            id: 1\n            log: enable\n            warnDuration: 5m\n            warningDurationType: timeout\n            warningPrompt: per-category\n          - action: warning\n            category: 7\n            id: 2\n            log: enable\n            warnDuration: 5m\n            warningDurationType: timeout\n            warningPrompt: per-category\n        maxQuotaTimeout: 300\n        rateCrlUrls: enable\n        rateCssUrls: enable\n        rateImageUrls: enable\n        rateJavascriptUrls: enable\n      httpsReplacemsg: enable\n      inspectionMode: flow-based\n      logAllUrl: disable\n      override:\n        ovrdCookie: deny\n        ovrdDur: 15m\n        ovrdDurMode: constant\n        ovrdScope: user\n        profileAttribute: Login-LAT-Service\n        profileType: list\n      postAction: normal\n      web:\n        blacklist: disable\n        bwordTable: 0\n        bwordThreshold: 10\n        contentHeaderList: 0\n        logSearch: disable\n        urlfilterTable: 0\n        youtubeRestrict: none\n      webContentLog: enable\n      webExtendedAllActionLog: disable\n      webFilterActivexLog: enable\n      webFilterAppletLog: enable\n      webFilterCommandBlockLog: enable\n      webFilterCookieLog: enable\n      webFilterCookieRemovalLog: enable\n      webFilterJsLog: enable\n      webFilterJscriptLog: enable\n      webFilterRefererLog: enable\n      webFilterUnknownLog: enable\n      webFilterVbsLog: enable\n      webFtgdErrLog: enable\n      webFtgdQuotaUsage: enable\n      webInvalidDomainLog: enable\n      webUrlLog: enable\n      wisp: disable\n      wispAlgorithm: auto-learning\n      youtubeChannelStatus: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "antiphish": {
          "$ref": "#/types/fortios:filter%2Fweb%2FProfileAntiphish:ProfileAntiphish",
          "description": "AntiPhishing profile. The structure of `antiphish` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging for web filtering. Valid values: `enable`, `disable`.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "fileFilter": {
          "$ref": "#/types/fortios:filter%2Fweb%2FProfileFileFilter:ProfileFileFilter",
          "description": "File filter. The structure of `file_filter` block is documented below.\n"
        },
        "ftgdWf": {
          "$ref": "#/types/fortios:filter%2Fweb%2FProfileFtgdWf:ProfileFtgdWf",
          "description": "FortiGuard Web Filter settings. The structure of `ftgd_wf` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "httpsReplacemsg": {
          "type": "string",
          "description": "Enable replacement messages for HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Web filtering inspection mode. Valid values: `proxy`, `flow-based`.\n"
        },
        "logAllUrl": {
          "type": "string",
          "description": "Enable/disable logging all URLs visited. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "options": {
          "type": "string",
          "description": "Options.\n"
        },
        "override": {
          "$ref": "#/types/fortios:filter%2Fweb%2FProfileOverride:ProfileOverride",
          "description": "Web Filter override settings. The structure of `override` block is documented below.\n"
        },
        "ovrdPerm": {
          "type": "string",
          "description": "Permitted override types. Valid values: `bannedword-override`, `urlfilter-override`, `fortiguard-wf-override`, `contenttype-check-override`.\n"
        },
        "postAction": {
          "type": "string",
          "description": "Action taken for HTTP POST traffic. Valid values: `normal`, `block`.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "web": {
          "$ref": "#/types/fortios:filter%2Fweb%2FProfileWeb:ProfileWeb",
          "description": "Web content filtering settings. The structure of `web` block is documented below.\n"
        },
        "webAntiphishingLog": {
          "type": "string",
          "description": "Enable/disable logging of AntiPhishing checks. Valid values: `enable`, `disable`.\n"
        },
        "webContentLog": {
          "type": "string",
          "description": "Enable/disable logging logging blocked web content. Valid values: `enable`, `disable`.\n"
        },
        "webExtendedAllActionLog": {
          "type": "string",
          "description": "Enable/disable extended any filter action logging for web filtering. Valid values: `enable`, `disable`.\n"
        },
        "webFilterActivexLog": {
          "type": "string",
          "description": "Enable/disable logging ActiveX. Valid values: `enable`, `disable`.\n"
        },
        "webFilterAppletLog": {
          "type": "string",
          "description": "Enable/disable logging Java applets. Valid values: `enable`, `disable`.\n"
        },
        "webFilterCommandBlockLog": {
          "type": "string",
          "description": "Enable/disable logging blocked commands. Valid values: `enable`, `disable`.\n"
        },
        "webFilterCookieLog": {
          "type": "string",
          "description": "Enable/disable logging cookie filtering. Valid values: `enable`, `disable`.\n"
        },
        "webFilterCookieRemovalLog": {
          "type": "string",
          "description": "Enable/disable logging blocked cookies. Valid values: `enable`, `disable`.\n"
        },
        "webFilterJsLog": {
          "type": "string",
          "description": "Enable/disable logging Java scripts. Valid values: `enable`, `disable`.\n"
        },
        "webFilterJscriptLog": {
          "type": "string",
          "description": "Enable/disable logging JScripts. Valid values: `enable`, `disable`.\n"
        },
        "webFilterRefererLog": {
          "type": "string",
          "description": "Enable/disable logging referrers. Valid values: `enable`, `disable`.\n"
        },
        "webFilterUnknownLog": {
          "type": "string",
          "description": "Enable/disable logging unknown scripts. Valid values: `enable`, `disable`.\n"
        },
        "webFilterVbsLog": {
          "type": "string",
          "description": "Enable/disable logging VBS scripts. Valid values: `enable`, `disable`.\n"
        },
        "webFlowLogEncoding": {
          "type": "string",
          "description": "Log encoding in flow mode. Valid values: `utf-8`, `punycode`.\n"
        },
        "webFtgdErrLog": {
          "type": "string",
          "description": "Enable/disable logging rating errors. Valid values: `enable`, `disable`.\n"
        },
        "webFtgdQuotaUsage": {
          "type": "string",
          "description": "Enable/disable logging daily quota usage. Valid values: `enable`, `disable`.\n"
        },
        "webInvalidDomainLog": {
          "type": "string",
          "description": "Enable/disable logging invalid domain names. Valid values: `enable`, `disable`.\n"
        },
        "webUrlLog": {
          "type": "string",
          "description": "Enable/disable logging URL filtering. Valid values: `enable`, `disable`.\n"
        },
        "wisp": {
          "type": "string",
          "description": "Enable/disable web proxy WISP. Valid values: `enable`, `disable`.\n"
        },
        "wispAlgorithm": {
          "type": "string",
          "description": "WISP server selection algorithm. Valid values: `primary-secondary`, `round-robin`, `auto-learning`.\n"
        },
        "wispServers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileWispServer:ProfileWispServer"
          },
          "description": "WISP servers. The structure of `wisp_servers` block is documented below.\n"
        },
        "youtubeChannelFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileYoutubeChannelFilter:ProfileYoutubeChannelFilter"
          },
          "description": "YouTube channel filter. The structure of `youtube_channel_filter` block is documented below.\n"
        },
        "youtubeChannelStatus": {
          "type": "string",
          "description": "YouTube channel filter status.\n"
        }
      },
      "type": "object",
      "required": [
        "antiphish",
        "extendedLog",
        "featureSet",
        "fileFilter",
        "ftgdWf",
        "httpsReplacemsg",
        "inspectionMode",
        "logAllUrl",
        "name",
        "options",
        "override",
        "ovrdPerm",
        "postAction",
        "replacemsgGroup",
        "vdomparam",
        "web",
        "webAntiphishingLog",
        "webContentLog",
        "webExtendedAllActionLog",
        "webFilterActivexLog",
        "webFilterAppletLog",
        "webFilterCommandBlockLog",
        "webFilterCookieLog",
        "webFilterCookieRemovalLog",
        "webFilterJsLog",
        "webFilterJscriptLog",
        "webFilterRefererLog",
        "webFilterUnknownLog",
        "webFilterVbsLog",
        "webFlowLogEncoding",
        "webFtgdErrLog",
        "webFtgdQuotaUsage",
        "webInvalidDomainLog",
        "webUrlLog",
        "wisp",
        "wispAlgorithm",
        "youtubeChannelStatus"
      ],
      "inputProperties": {
        "antiphish": {
          "$ref": "#/types/fortios:filter%2Fweb%2FProfileAntiphish:ProfileAntiphish",
          "description": "AntiPhishing profile. The structure of `antiphish` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging for web filtering. Valid values: `enable`, `disable`.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "fileFilter": {
          "$ref": "#/types/fortios:filter%2Fweb%2FProfileFileFilter:ProfileFileFilter",
          "description": "File filter. The structure of `file_filter` block is documented below.\n"
        },
        "ftgdWf": {
          "$ref": "#/types/fortios:filter%2Fweb%2FProfileFtgdWf:ProfileFtgdWf",
          "description": "FortiGuard Web Filter settings. The structure of `ftgd_wf` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "httpsReplacemsg": {
          "type": "string",
          "description": "Enable replacement messages for HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Web filtering inspection mode. Valid values: `proxy`, `flow-based`.\n"
        },
        "logAllUrl": {
          "type": "string",
          "description": "Enable/disable logging all URLs visited. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile name.\n",
          "willReplaceOnChanges": true
        },
        "options": {
          "type": "string",
          "description": "Options.\n"
        },
        "override": {
          "$ref": "#/types/fortios:filter%2Fweb%2FProfileOverride:ProfileOverride",
          "description": "Web Filter override settings. The structure of `override` block is documented below.\n"
        },
        "ovrdPerm": {
          "type": "string",
          "description": "Permitted override types. Valid values: `bannedword-override`, `urlfilter-override`, `fortiguard-wf-override`, `contenttype-check-override`.\n"
        },
        "postAction": {
          "type": "string",
          "description": "Action taken for HTTP POST traffic. Valid values: `normal`, `block`.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "web": {
          "$ref": "#/types/fortios:filter%2Fweb%2FProfileWeb:ProfileWeb",
          "description": "Web content filtering settings. The structure of `web` block is documented below.\n"
        },
        "webAntiphishingLog": {
          "type": "string",
          "description": "Enable/disable logging of AntiPhishing checks. Valid values: `enable`, `disable`.\n"
        },
        "webContentLog": {
          "type": "string",
          "description": "Enable/disable logging logging blocked web content. Valid values: `enable`, `disable`.\n"
        },
        "webExtendedAllActionLog": {
          "type": "string",
          "description": "Enable/disable extended any filter action logging for web filtering. Valid values: `enable`, `disable`.\n"
        },
        "webFilterActivexLog": {
          "type": "string",
          "description": "Enable/disable logging ActiveX. Valid values: `enable`, `disable`.\n"
        },
        "webFilterAppletLog": {
          "type": "string",
          "description": "Enable/disable logging Java applets. Valid values: `enable`, `disable`.\n"
        },
        "webFilterCommandBlockLog": {
          "type": "string",
          "description": "Enable/disable logging blocked commands. Valid values: `enable`, `disable`.\n"
        },
        "webFilterCookieLog": {
          "type": "string",
          "description": "Enable/disable logging cookie filtering. Valid values: `enable`, `disable`.\n"
        },
        "webFilterCookieRemovalLog": {
          "type": "string",
          "description": "Enable/disable logging blocked cookies. Valid values: `enable`, `disable`.\n"
        },
        "webFilterJsLog": {
          "type": "string",
          "description": "Enable/disable logging Java scripts. Valid values: `enable`, `disable`.\n"
        },
        "webFilterJscriptLog": {
          "type": "string",
          "description": "Enable/disable logging JScripts. Valid values: `enable`, `disable`.\n"
        },
        "webFilterRefererLog": {
          "type": "string",
          "description": "Enable/disable logging referrers. Valid values: `enable`, `disable`.\n"
        },
        "webFilterUnknownLog": {
          "type": "string",
          "description": "Enable/disable logging unknown scripts. Valid values: `enable`, `disable`.\n"
        },
        "webFilterVbsLog": {
          "type": "string",
          "description": "Enable/disable logging VBS scripts. Valid values: `enable`, `disable`.\n"
        },
        "webFlowLogEncoding": {
          "type": "string",
          "description": "Log encoding in flow mode. Valid values: `utf-8`, `punycode`.\n"
        },
        "webFtgdErrLog": {
          "type": "string",
          "description": "Enable/disable logging rating errors. Valid values: `enable`, `disable`.\n"
        },
        "webFtgdQuotaUsage": {
          "type": "string",
          "description": "Enable/disable logging daily quota usage. Valid values: `enable`, `disable`.\n"
        },
        "webInvalidDomainLog": {
          "type": "string",
          "description": "Enable/disable logging invalid domain names. Valid values: `enable`, `disable`.\n"
        },
        "webUrlLog": {
          "type": "string",
          "description": "Enable/disable logging URL filtering. Valid values: `enable`, `disable`.\n"
        },
        "wisp": {
          "type": "string",
          "description": "Enable/disable web proxy WISP. Valid values: `enable`, `disable`.\n"
        },
        "wispAlgorithm": {
          "type": "string",
          "description": "WISP server selection algorithm. Valid values: `primary-secondary`, `round-robin`, `auto-learning`.\n"
        },
        "wispServers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileWispServer:ProfileWispServer"
          },
          "description": "WISP servers. The structure of `wisp_servers` block is documented below.\n"
        },
        "youtubeChannelFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileYoutubeChannelFilter:ProfileYoutubeChannelFilter"
          },
          "description": "YouTube channel filter. The structure of `youtube_channel_filter` block is documented below.\n"
        },
        "youtubeChannelStatus": {
          "type": "string",
          "description": "YouTube channel filter status.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "antiphish": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileAntiphish:ProfileAntiphish",
            "description": "AntiPhishing profile. The structure of `antiphish` block is documented below.\n"
          },
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "extendedLog": {
            "type": "string",
            "description": "Enable/disable extended logging for web filtering. Valid values: `enable`, `disable`.\n"
          },
          "featureSet": {
            "type": "string",
            "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
          },
          "fileFilter": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileFileFilter:ProfileFileFilter",
            "description": "File filter. The structure of `file_filter` block is documented below.\n"
          },
          "ftgdWf": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileFtgdWf:ProfileFtgdWf",
            "description": "FortiGuard Web Filter settings. The structure of `ftgd_wf` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "httpsReplacemsg": {
            "type": "string",
            "description": "Enable replacement messages for HTTPS. Valid values: `enable`, `disable`.\n"
          },
          "inspectionMode": {
            "type": "string",
            "description": "Web filtering inspection mode. Valid values: `proxy`, `flow-based`.\n"
          },
          "logAllUrl": {
            "type": "string",
            "description": "Enable/disable logging all URLs visited. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile name.\n",
            "willReplaceOnChanges": true
          },
          "options": {
            "type": "string",
            "description": "Options.\n"
          },
          "override": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileOverride:ProfileOverride",
            "description": "Web Filter override settings. The structure of `override` block is documented below.\n"
          },
          "ovrdPerm": {
            "type": "string",
            "description": "Permitted override types. Valid values: `bannedword-override`, `urlfilter-override`, `fortiguard-wf-override`, `contenttype-check-override`.\n"
          },
          "postAction": {
            "type": "string",
            "description": "Action taken for HTTP POST traffic. Valid values: `normal`, `block`.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "web": {
            "$ref": "#/types/fortios:filter%2Fweb%2FProfileWeb:ProfileWeb",
            "description": "Web content filtering settings. The structure of `web` block is documented below.\n"
          },
          "webAntiphishingLog": {
            "type": "string",
            "description": "Enable/disable logging of AntiPhishing checks. Valid values: `enable`, `disable`.\n"
          },
          "webContentLog": {
            "type": "string",
            "description": "Enable/disable logging logging blocked web content. Valid values: `enable`, `disable`.\n"
          },
          "webExtendedAllActionLog": {
            "type": "string",
            "description": "Enable/disable extended any filter action logging for web filtering. Valid values: `enable`, `disable`.\n"
          },
          "webFilterActivexLog": {
            "type": "string",
            "description": "Enable/disable logging ActiveX. Valid values: `enable`, `disable`.\n"
          },
          "webFilterAppletLog": {
            "type": "string",
            "description": "Enable/disable logging Java applets. Valid values: `enable`, `disable`.\n"
          },
          "webFilterCommandBlockLog": {
            "type": "string",
            "description": "Enable/disable logging blocked commands. Valid values: `enable`, `disable`.\n"
          },
          "webFilterCookieLog": {
            "type": "string",
            "description": "Enable/disable logging cookie filtering. Valid values: `enable`, `disable`.\n"
          },
          "webFilterCookieRemovalLog": {
            "type": "string",
            "description": "Enable/disable logging blocked cookies. Valid values: `enable`, `disable`.\n"
          },
          "webFilterJsLog": {
            "type": "string",
            "description": "Enable/disable logging Java scripts. Valid values: `enable`, `disable`.\n"
          },
          "webFilterJscriptLog": {
            "type": "string",
            "description": "Enable/disable logging JScripts. Valid values: `enable`, `disable`.\n"
          },
          "webFilterRefererLog": {
            "type": "string",
            "description": "Enable/disable logging referrers. Valid values: `enable`, `disable`.\n"
          },
          "webFilterUnknownLog": {
            "type": "string",
            "description": "Enable/disable logging unknown scripts. Valid values: `enable`, `disable`.\n"
          },
          "webFilterVbsLog": {
            "type": "string",
            "description": "Enable/disable logging VBS scripts. Valid values: `enable`, `disable`.\n"
          },
          "webFlowLogEncoding": {
            "type": "string",
            "description": "Log encoding in flow mode. Valid values: `utf-8`, `punycode`.\n"
          },
          "webFtgdErrLog": {
            "type": "string",
            "description": "Enable/disable logging rating errors. Valid values: `enable`, `disable`.\n"
          },
          "webFtgdQuotaUsage": {
            "type": "string",
            "description": "Enable/disable logging daily quota usage. Valid values: `enable`, `disable`.\n"
          },
          "webInvalidDomainLog": {
            "type": "string",
            "description": "Enable/disable logging invalid domain names. Valid values: `enable`, `disable`.\n"
          },
          "webUrlLog": {
            "type": "string",
            "description": "Enable/disable logging URL filtering. Valid values: `enable`, `disable`.\n"
          },
          "wisp": {
            "type": "string",
            "description": "Enable/disable web proxy WISP. Valid values: `enable`, `disable`.\n"
          },
          "wispAlgorithm": {
            "type": "string",
            "description": "WISP server selection algorithm. Valid values: `primary-secondary`, `round-robin`, `auto-learning`.\n"
          },
          "wispServers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fweb%2FProfileWispServer:ProfileWispServer"
            },
            "description": "WISP servers. The structure of `wisp_servers` block is documented below.\n"
          },
          "youtubeChannelFilters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fweb%2FProfileYoutubeChannelFilter:ProfileYoutubeChannelFilter"
            },
            "description": "YouTube channel filter. The structure of `youtube_channel_filter` block is documented below.\n"
          },
          "youtubeChannelStatus": {
            "type": "string",
            "description": "YouTube channel filter status.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/searchengine:Searchengine": {
      "description": "Configure web filter search engines.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Searchengine(\"trname\", {\n    charset: \"utf-8\",\n    hostname: \"sg.eiwuc.com\",\n    query: \"sc=\",\n    safesearch: \"disable\",\n    url: \"^\\\\/f\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Searchengine(\"trname\",\n    charset=\"utf-8\",\n    hostname=\"sg.eiwuc.com\",\n    query=\"sc=\",\n    safesearch=\"disable\",\n    url=\"^\\\\/f\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Searchengine(\"trname\", new()\n    {\n        Charset = \"utf-8\",\n        Hostname = \"sg.eiwuc.com\",\n        Query = \"sc=\",\n        Safesearch = \"disable\",\n        Url = \"^\\\\/f\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewSearchengine(ctx, \"trname\", &filter.SearchengineArgs{\n\t\t\tCharset:    pulumi.String(\"utf-8\"),\n\t\t\tHostname:   pulumi.String(\"sg.eiwuc.com\"),\n\t\t\tQuery:      pulumi.String(\"sc=\"),\n\t\t\tSafesearch: pulumi.String(\"disable\"),\n\t\t\tUrl:        pulumi.String(\"^\\\\/f\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Searchengine;\nimport com.pulumi.fortios.filter.SearchengineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Searchengine(\"trname\", SearchengineArgs.builder()\n            .charset(\"utf-8\")\n            .hostname(\"sg.eiwuc.com\")\n            .query(\"sc=\")\n            .safesearch(\"disable\")\n            .url(\"^\\\\/f\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Searchengine\n    properties:\n      charset: utf-8\n      hostname: sg.eiwuc.com\n      query: sc=\n      safesearch: disable\n      url: ^\\/f\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter SearchEngine can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/searchengine:Searchengine labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/searchengine:Searchengine labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "charset": {
          "type": "string",
          "description": "Search engine charset. Valid values: `utf-8`, `gb2312`.\n"
        },
        "hostname": {
          "type": "string",
          "description": "Hostname (regular expression).\n"
        },
        "name": {
          "type": "string",
          "description": "Search engine name.\n"
        },
        "query": {
          "type": "string",
          "description": "Code used to prefix a query (must end with an equals character).\n"
        },
        "safesearch": {
          "type": "string",
          "description": "Safe search method. You can disable safe search, add the safe search string to URLs, or insert a safe search header.\n"
        },
        "safesearchStr": {
          "type": "string",
          "description": "Safe search parameter used in the URL.\n"
        },
        "url": {
          "type": "string",
          "description": "URL (regular expression).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "charset",
        "hostname",
        "name",
        "query",
        "safesearch",
        "safesearchStr",
        "url",
        "vdomparam"
      ],
      "inputProperties": {
        "charset": {
          "type": "string",
          "description": "Search engine charset. Valid values: `utf-8`, `gb2312`.\n"
        },
        "hostname": {
          "type": "string",
          "description": "Hostname (regular expression).\n"
        },
        "name": {
          "type": "string",
          "description": "Search engine name.\n",
          "willReplaceOnChanges": true
        },
        "query": {
          "type": "string",
          "description": "Code used to prefix a query (must end with an equals character).\n"
        },
        "safesearch": {
          "type": "string",
          "description": "Safe search method. You can disable safe search, add the safe search string to URLs, or insert a safe search header.\n"
        },
        "safesearchStr": {
          "type": "string",
          "description": "Safe search parameter used in the URL.\n"
        },
        "url": {
          "type": "string",
          "description": "URL (regular expression).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Searchengine resources.\n",
        "properties": {
          "charset": {
            "type": "string",
            "description": "Search engine charset. Valid values: `utf-8`, `gb2312`.\n"
          },
          "hostname": {
            "type": "string",
            "description": "Hostname (regular expression).\n"
          },
          "name": {
            "type": "string",
            "description": "Search engine name.\n",
            "willReplaceOnChanges": true
          },
          "query": {
            "type": "string",
            "description": "Code used to prefix a query (must end with an equals character).\n"
          },
          "safesearch": {
            "type": "string",
            "description": "Safe search method. You can disable safe search, add the safe search string to URLs, or insert a safe search header.\n"
          },
          "safesearchStr": {
            "type": "string",
            "description": "Safe search parameter used in the URL.\n"
          },
          "url": {
            "type": "string",
            "description": "URL (regular expression).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:filter/web/urlfilter:Urlfilter": {
      "description": "Configure URL filter lists.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.filter.web.Urlfilter(\"trname\", {\n    fosid: 1,\n    ipAddrBlock: \"enable\",\n    oneArmIpsUrlfilter: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.filter.web.Urlfilter(\"trname\",\n    fosid=1,\n    ip_addr_block=\"enable\",\n    one_arm_ips_urlfilter=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Filter.Web.Urlfilter(\"trname\", new()\n    {\n        Fosid = 1,\n        IpAddrBlock = \"enable\",\n        OneArmIpsUrlfilter = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/filter\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := filter.NewUrlfilter(ctx, \"trname\", &filter.UrlfilterArgs{\n\t\t\tFosid:              pulumi.Int(1),\n\t\t\tIpAddrBlock:        pulumi.String(\"enable\"),\n\t\t\tOneArmIpsUrlfilter: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.filter.Urlfilter;\nimport com.pulumi.fortios.filter.UrlfilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Urlfilter(\"trname\", UrlfilterArgs.builder()\n            .fosid(1)\n            .ipAddrBlock(\"enable\")\n            .oneArmIpsUrlfilter(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:filter/web:Urlfilter\n    properties:\n      fosid: 1\n      ipAddrBlock: enable\n      oneArmIpsUrlfilter: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nWebfilter Urlfilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:filter/web/urlfilter:Urlfilter labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:filter/web/urlfilter:Urlfilter labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FUrlfilterEntry:UrlfilterEntry"
          },
          "description": "URL filter entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ip4MappedIp6": {
          "type": "string",
          "description": "Enable/disable matching of IPv4 mapped IPv6 URLs. Valid values: `enable`, `disable`.\n"
        },
        "ipAddrBlock": {
          "type": "string",
          "description": "Enable/disable blocking URLs when the hostname appears as an IP address. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of URL filter list.\n"
        },
        "oneArmIpsUrlfilter": {
          "type": "string",
          "description": "Enable/disable DNS resolver for one-arm IPS URL filter operation. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "ip4MappedIp6",
        "ipAddrBlock",
        "name",
        "oneArmIpsUrlfilter",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:filter%2Fweb%2FUrlfilterEntry:UrlfilterEntry"
          },
          "description": "URL filter entries. The structure of `entries` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ip4MappedIp6": {
          "type": "string",
          "description": "Enable/disable matching of IPv4 mapped IPv6 URLs. Valid values: `enable`, `disable`.\n"
        },
        "ipAddrBlock": {
          "type": "string",
          "description": "Enable/disable blocking URLs when the hostname appears as an IP address. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of URL filter list.\n"
        },
        "oneArmIpsUrlfilter": {
          "type": "string",
          "description": "Enable/disable DNS resolver for one-arm IPS URL filter operation. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Urlfilter resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:filter%2Fweb%2FUrlfilterEntry:UrlfilterEntry"
            },
            "description": "URL filter entries. The structure of `entries` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ip4MappedIp6": {
            "type": "string",
            "description": "Enable/disable matching of IPv4 mapped IPv6 URLs. Valid values: `enable`, `disable`.\n"
          },
          "ipAddrBlock": {
            "type": "string",
            "description": "Enable/disable blocking URLs when the hostname appears as an IP address. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of URL filter list.\n"
          },
          "oneArmIpsUrlfilter": {
            "type": "string",
            "description": "Enable/disable DNS resolver for one-arm IPS URL filter operation. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/accessproxy6:Accessproxy6": {
      "description": "Configure IPv6 access proxy. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nFirewall AccessProxy6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/accessproxy6:Accessproxy6 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/accessproxy6:Accessproxy6 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addVhostDomainToDnsdb": {
          "type": "string",
          "description": "Enable/disable adding vhost/domain to dnsdb for ztna dox tunnel. Valid values: `enable`, `disable`.\n"
        },
        "apiGateway6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway6:Accessproxy6ApiGateway6"
          },
          "description": "Set IPv6 API Gateway. The structure of `api_gateway6` block is documented below.\n"
        },
        "apiGateways": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway:Accessproxy6ApiGateway"
          },
          "description": "Set IPv4 API Gateway. The structure of `api_gateway` block is documented below.\n"
        },
        "authPortal": {
          "type": "string",
          "description": "Enable/disable authentication portal. Valid values: `disable`, `enable`.\n"
        },
        "authVirtualHost": {
          "type": "string",
          "description": "Virtual host for authentication portal.\n"
        },
        "clientCert": {
          "type": "string",
          "description": "Enable/disable to request client certificate. Valid values: `disable`, `enable`.\n"
        },
        "decryptedTrafficMirror": {
          "type": "string",
          "description": "Decrypted traffic mirror.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emptyCertAction": {
          "type": "string",
          "description": "Action of an empty client certificate.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "httpSupportedMaxVersion": {
          "type": "string",
          "description": "Maximum supported HTTP versions. default = HTTP2 Valid values: `http1`, `http2`.\n"
        },
        "logBlockedTraffic": {
          "type": "string",
          "description": "Enable/disable logging of blocked traffic. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Access Proxy name.\n"
        },
        "svrPoolMultiplex": {
          "type": "string",
          "description": "Enable/disable server pool multiplexing. Share connected server in HTTP, HTTPS, and web-portal api-gateway. Valid values: `enable`, `disable`.\n"
        },
        "svrPoolServerMaxConcurrentRequest": {
          "type": "integer",
          "description": "Maximum number of concurrent requests that servers in server pool could handle (default = unlimited).\n"
        },
        "svrPoolServerMaxRequest": {
          "type": "integer",
          "description": "Maximum number of requests that servers in server pool handle before disconnecting (default = unlimited).\n"
        },
        "svrPoolTtl": {
          "type": "integer",
          "description": "Time-to-live in the server pool for idle connections to servers.\n"
        },
        "userAgentDetect": {
          "type": "string",
          "description": "Enable/disable to detect device type by HTTP user-agent if no client certificate provided. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vip": {
          "type": "string",
          "description": "Virtual IP name.\n"
        }
      },
      "type": "object",
      "required": [
        "addVhostDomainToDnsdb",
        "authPortal",
        "authVirtualHost",
        "clientCert",
        "decryptedTrafficMirror",
        "emptyCertAction",
        "httpSupportedMaxVersion",
        "logBlockedTraffic",
        "name",
        "svrPoolMultiplex",
        "svrPoolServerMaxConcurrentRequest",
        "svrPoolServerMaxRequest",
        "svrPoolTtl",
        "userAgentDetect",
        "vdomparam",
        "vip"
      ],
      "inputProperties": {
        "addVhostDomainToDnsdb": {
          "type": "string",
          "description": "Enable/disable adding vhost/domain to dnsdb for ztna dox tunnel. Valid values: `enable`, `disable`.\n"
        },
        "apiGateway6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway6:Accessproxy6ApiGateway6"
          },
          "description": "Set IPv6 API Gateway. The structure of `api_gateway6` block is documented below.\n"
        },
        "apiGateways": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway:Accessproxy6ApiGateway"
          },
          "description": "Set IPv4 API Gateway. The structure of `api_gateway` block is documented below.\n"
        },
        "authPortal": {
          "type": "string",
          "description": "Enable/disable authentication portal. Valid values: `disable`, `enable`.\n"
        },
        "authVirtualHost": {
          "type": "string",
          "description": "Virtual host for authentication portal.\n"
        },
        "clientCert": {
          "type": "string",
          "description": "Enable/disable to request client certificate. Valid values: `disable`, `enable`.\n"
        },
        "decryptedTrafficMirror": {
          "type": "string",
          "description": "Decrypted traffic mirror.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emptyCertAction": {
          "type": "string",
          "description": "Action of an empty client certificate.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "httpSupportedMaxVersion": {
          "type": "string",
          "description": "Maximum supported HTTP versions. default = HTTP2 Valid values: `http1`, `http2`.\n"
        },
        "logBlockedTraffic": {
          "type": "string",
          "description": "Enable/disable logging of blocked traffic. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Access Proxy name.\n"
        },
        "svrPoolMultiplex": {
          "type": "string",
          "description": "Enable/disable server pool multiplexing. Share connected server in HTTP, HTTPS, and web-portal api-gateway. Valid values: `enable`, `disable`.\n"
        },
        "svrPoolServerMaxConcurrentRequest": {
          "type": "integer",
          "description": "Maximum number of concurrent requests that servers in server pool could handle (default = unlimited).\n"
        },
        "svrPoolServerMaxRequest": {
          "type": "integer",
          "description": "Maximum number of requests that servers in server pool handle before disconnecting (default = unlimited).\n"
        },
        "svrPoolTtl": {
          "type": "integer",
          "description": "Time-to-live in the server pool for idle connections to servers.\n"
        },
        "userAgentDetect": {
          "type": "string",
          "description": "Enable/disable to detect device type by HTTP user-agent if no client certificate provided. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vip": {
          "type": "string",
          "description": "Virtual IP name.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Accessproxy6 resources.\n",
        "properties": {
          "addVhostDomainToDnsdb": {
            "type": "string",
            "description": "Enable/disable adding vhost/domain to dnsdb for ztna dox tunnel. Valid values: `enable`, `disable`.\n"
          },
          "apiGateway6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway6:Accessproxy6ApiGateway6"
            },
            "description": "Set IPv6 API Gateway. The structure of `api_gateway6` block is documented below.\n"
          },
          "apiGateways": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAccessproxy6ApiGateway:Accessproxy6ApiGateway"
            },
            "description": "Set IPv4 API Gateway. The structure of `api_gateway` block is documented below.\n"
          },
          "authPortal": {
            "type": "string",
            "description": "Enable/disable authentication portal. Valid values: `disable`, `enable`.\n"
          },
          "authVirtualHost": {
            "type": "string",
            "description": "Virtual host for authentication portal.\n"
          },
          "clientCert": {
            "type": "string",
            "description": "Enable/disable to request client certificate. Valid values: `disable`, `enable`.\n"
          },
          "decryptedTrafficMirror": {
            "type": "string",
            "description": "Decrypted traffic mirror.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emptyCertAction": {
            "type": "string",
            "description": "Action of an empty client certificate.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "httpSupportedMaxVersion": {
            "type": "string",
            "description": "Maximum supported HTTP versions. default = HTTP2 Valid values: `http1`, `http2`.\n"
          },
          "logBlockedTraffic": {
            "type": "string",
            "description": "Enable/disable logging of blocked traffic. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Access Proxy name.\n"
          },
          "svrPoolMultiplex": {
            "type": "string",
            "description": "Enable/disable server pool multiplexing. Share connected server in HTTP, HTTPS, and web-portal api-gateway. Valid values: `enable`, `disable`.\n"
          },
          "svrPoolServerMaxConcurrentRequest": {
            "type": "integer",
            "description": "Maximum number of concurrent requests that servers in server pool could handle (default = unlimited).\n"
          },
          "svrPoolServerMaxRequest": {
            "type": "integer",
            "description": "Maximum number of requests that servers in server pool handle before disconnecting (default = unlimited).\n"
          },
          "svrPoolTtl": {
            "type": "integer",
            "description": "Time-to-live in the server pool for idle connections to servers.\n"
          },
          "userAgentDetect": {
            "type": "string",
            "description": "Enable/disable to detect device type by HTTP user-agent if no client certificate provided. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vip": {
            "type": "string",
            "description": "Virtual IP name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/accessproxy:Accessproxy": {
      "description": "Configure IPv4 access proxy. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nFirewall AccessProxy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/accessproxy:Accessproxy labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/accessproxy:Accessproxy labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addVhostDomainToDnsdb": {
          "type": "string",
          "description": "Enable/disable adding vhost/domain to dnsdb for ztna dox tunnel. Valid values: `enable`, `disable`.\n"
        },
        "apiGateway6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway6:AccessproxyApiGateway6"
          },
          "description": "Set IPv6 API Gateway. The structure of `api_gateway6` block is documented below.\n"
        },
        "apiGateways": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway:AccessproxyApiGateway"
          },
          "description": "Set IPv4 API Gateway. The structure of `api_gateway` block is documented below.\n"
        },
        "authPortal": {
          "type": "string",
          "description": "Enable/disable authentication portal. Valid values: `disable`, `enable`.\n"
        },
        "authVirtualHost": {
          "type": "string",
          "description": "Virtual host for authentication portal.\n"
        },
        "clientCert": {
          "type": "string",
          "description": "Enable/disable to request client certificate. Valid values: `disable`, `enable`.\n"
        },
        "decryptedTrafficMirror": {
          "type": "string",
          "description": "Decrypted traffic mirror.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emptyCertAction": {
          "type": "string",
          "description": "Action of an empty client certificate.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "httpSupportedMaxVersion": {
          "type": "string",
          "description": "Maximum supported HTTP versions. default = HTTP2 Valid values: `http1`, `http2`.\n"
        },
        "logBlockedTraffic": {
          "type": "string",
          "description": "Enable/disable logging of blocked traffic. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Access Proxy name.\n"
        },
        "svrPoolMultiplex": {
          "type": "string",
          "description": "Enable/disable server pool multiplexing. Share connected server in HTTP, HTTPS, and web-portal api-gateway. Valid values: `enable`, `disable`.\n"
        },
        "svrPoolServerMaxConcurrentRequest": {
          "type": "integer",
          "description": "Maximum number of concurrent requests that servers in server pool could handle (default = unlimited).\n"
        },
        "svrPoolServerMaxRequest": {
          "type": "integer",
          "description": "Maximum number of requests that servers in server pool handle before disconnecting (default = unlimited).\n"
        },
        "svrPoolTtl": {
          "type": "integer",
          "description": "Time-to-live in the server pool for idle connections to servers.\n"
        },
        "userAgentDetect": {
          "type": "string",
          "description": "Enable/disable to detect device type by HTTP user-agent if no client certificate provided. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vip": {
          "type": "string",
          "description": "Virtual IP name.\n"
        }
      },
      "type": "object",
      "required": [
        "addVhostDomainToDnsdb",
        "authPortal",
        "authVirtualHost",
        "clientCert",
        "decryptedTrafficMirror",
        "emptyCertAction",
        "httpSupportedMaxVersion",
        "logBlockedTraffic",
        "name",
        "svrPoolMultiplex",
        "svrPoolServerMaxConcurrentRequest",
        "svrPoolServerMaxRequest",
        "svrPoolTtl",
        "userAgentDetect",
        "vdomparam",
        "vip"
      ],
      "inputProperties": {
        "addVhostDomainToDnsdb": {
          "type": "string",
          "description": "Enable/disable adding vhost/domain to dnsdb for ztna dox tunnel. Valid values: `enable`, `disable`.\n"
        },
        "apiGateway6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway6:AccessproxyApiGateway6"
          },
          "description": "Set IPv6 API Gateway. The structure of `api_gateway6` block is documented below.\n"
        },
        "apiGateways": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway:AccessproxyApiGateway"
          },
          "description": "Set IPv4 API Gateway. The structure of `api_gateway` block is documented below.\n"
        },
        "authPortal": {
          "type": "string",
          "description": "Enable/disable authentication portal. Valid values: `disable`, `enable`.\n"
        },
        "authVirtualHost": {
          "type": "string",
          "description": "Virtual host for authentication portal.\n"
        },
        "clientCert": {
          "type": "string",
          "description": "Enable/disable to request client certificate. Valid values: `disable`, `enable`.\n"
        },
        "decryptedTrafficMirror": {
          "type": "string",
          "description": "Decrypted traffic mirror.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emptyCertAction": {
          "type": "string",
          "description": "Action of an empty client certificate.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "httpSupportedMaxVersion": {
          "type": "string",
          "description": "Maximum supported HTTP versions. default = HTTP2 Valid values: `http1`, `http2`.\n"
        },
        "logBlockedTraffic": {
          "type": "string",
          "description": "Enable/disable logging of blocked traffic. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Access Proxy name.\n"
        },
        "svrPoolMultiplex": {
          "type": "string",
          "description": "Enable/disable server pool multiplexing. Share connected server in HTTP, HTTPS, and web-portal api-gateway. Valid values: `enable`, `disable`.\n"
        },
        "svrPoolServerMaxConcurrentRequest": {
          "type": "integer",
          "description": "Maximum number of concurrent requests that servers in server pool could handle (default = unlimited).\n"
        },
        "svrPoolServerMaxRequest": {
          "type": "integer",
          "description": "Maximum number of requests that servers in server pool handle before disconnecting (default = unlimited).\n"
        },
        "svrPoolTtl": {
          "type": "integer",
          "description": "Time-to-live in the server pool for idle connections to servers.\n"
        },
        "userAgentDetect": {
          "type": "string",
          "description": "Enable/disable to detect device type by HTTP user-agent if no client certificate provided. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vip": {
          "type": "string",
          "description": "Virtual IP name.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Accessproxy resources.\n",
        "properties": {
          "addVhostDomainToDnsdb": {
            "type": "string",
            "description": "Enable/disable adding vhost/domain to dnsdb for ztna dox tunnel. Valid values: `enable`, `disable`.\n"
          },
          "apiGateway6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway6:AccessproxyApiGateway6"
            },
            "description": "Set IPv6 API Gateway. The structure of `api_gateway6` block is documented below.\n"
          },
          "apiGateways": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAccessproxyApiGateway:AccessproxyApiGateway"
            },
            "description": "Set IPv4 API Gateway. The structure of `api_gateway` block is documented below.\n"
          },
          "authPortal": {
            "type": "string",
            "description": "Enable/disable authentication portal. Valid values: `disable`, `enable`.\n"
          },
          "authVirtualHost": {
            "type": "string",
            "description": "Virtual host for authentication portal.\n"
          },
          "clientCert": {
            "type": "string",
            "description": "Enable/disable to request client certificate. Valid values: `disable`, `enable`.\n"
          },
          "decryptedTrafficMirror": {
            "type": "string",
            "description": "Decrypted traffic mirror.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emptyCertAction": {
            "type": "string",
            "description": "Action of an empty client certificate.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "httpSupportedMaxVersion": {
            "type": "string",
            "description": "Maximum supported HTTP versions. default = HTTP2 Valid values: `http1`, `http2`.\n"
          },
          "logBlockedTraffic": {
            "type": "string",
            "description": "Enable/disable logging of blocked traffic. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Access Proxy name.\n"
          },
          "svrPoolMultiplex": {
            "type": "string",
            "description": "Enable/disable server pool multiplexing. Share connected server in HTTP, HTTPS, and web-portal api-gateway. Valid values: `enable`, `disable`.\n"
          },
          "svrPoolServerMaxConcurrentRequest": {
            "type": "integer",
            "description": "Maximum number of concurrent requests that servers in server pool could handle (default = unlimited).\n"
          },
          "svrPoolServerMaxRequest": {
            "type": "integer",
            "description": "Maximum number of requests that servers in server pool handle before disconnecting (default = unlimited).\n"
          },
          "svrPoolTtl": {
            "type": "integer",
            "description": "Time-to-live in the server pool for idle connections to servers.\n"
          },
          "userAgentDetect": {
            "type": "string",
            "description": "Enable/disable to detect device type by HTTP user-agent if no client certificate provided. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vip": {
            "type": "string",
            "description": "Virtual IP name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/accessproxysshclientcert:Accessproxysshclientcert": {
      "description": "Configure Access Proxy SSH client certificate. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nFirewall AccessProxySshClientCert can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/accessproxysshclientcert:Accessproxysshclientcert labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/accessproxysshclientcert:Accessproxysshclientcert labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "authCa": {
          "type": "string",
          "description": "Name of the SSH server public key authentication CA.\n"
        },
        "certExtensions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxysshclientcertCertExtension:AccessproxysshclientcertCertExtension"
          },
          "description": "Configure certificate extension for user certificate. The structure of `cert_extension` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "SSH client certificate name.\n"
        },
        "permitAgentForwarding": {
          "type": "string",
          "description": "Enable/disable appending permit-agent-forwarding certificate extension. Valid values: `enable`, `disable`.\n"
        },
        "permitPortForwarding": {
          "type": "string",
          "description": "Enable/disable appending permit-port-forwarding certificate extension. Valid values: `enable`, `disable`.\n"
        },
        "permitPty": {
          "type": "string",
          "description": "Enable/disable appending permit-pty certificate extension. Valid values: `enable`, `disable`.\n"
        },
        "permitUserRc": {
          "type": "string",
          "description": "Enable/disable appending permit-user-rc certificate extension. Valid values: `enable`, `disable`.\n"
        },
        "permitX11Forwarding": {
          "type": "string",
          "description": "Enable/disable appending permit-x11-forwarding certificate extension. Valid values: `enable`, `disable`.\n"
        },
        "sourceAddress": {
          "type": "string",
          "description": "Enable/disable appending source-address certificate critical option. This option ensure certificate only accepted from FortiGate source address. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "authCa",
        "name",
        "permitAgentForwarding",
        "permitPortForwarding",
        "permitPty",
        "permitUserRc",
        "permitX11Forwarding",
        "sourceAddress",
        "vdomparam"
      ],
      "inputProperties": {
        "authCa": {
          "type": "string",
          "description": "Name of the SSH server public key authentication CA.\n"
        },
        "certExtensions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAccessproxysshclientcertCertExtension:AccessproxysshclientcertCertExtension"
          },
          "description": "Configure certificate extension for user certificate. The structure of `cert_extension` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "SSH client certificate name.\n"
        },
        "permitAgentForwarding": {
          "type": "string",
          "description": "Enable/disable appending permit-agent-forwarding certificate extension. Valid values: `enable`, `disable`.\n"
        },
        "permitPortForwarding": {
          "type": "string",
          "description": "Enable/disable appending permit-port-forwarding certificate extension. Valid values: `enable`, `disable`.\n"
        },
        "permitPty": {
          "type": "string",
          "description": "Enable/disable appending permit-pty certificate extension. Valid values: `enable`, `disable`.\n"
        },
        "permitUserRc": {
          "type": "string",
          "description": "Enable/disable appending permit-user-rc certificate extension. Valid values: `enable`, `disable`.\n"
        },
        "permitX11Forwarding": {
          "type": "string",
          "description": "Enable/disable appending permit-x11-forwarding certificate extension. Valid values: `enable`, `disable`.\n"
        },
        "sourceAddress": {
          "type": "string",
          "description": "Enable/disable appending source-address certificate critical option. This option ensure certificate only accepted from FortiGate source address. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Accessproxysshclientcert resources.\n",
        "properties": {
          "authCa": {
            "type": "string",
            "description": "Name of the SSH server public key authentication CA.\n"
          },
          "certExtensions": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAccessproxysshclientcertCertExtension:AccessproxysshclientcertCertExtension"
            },
            "description": "Configure certificate extension for user certificate. The structure of `cert_extension` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "SSH client certificate name.\n"
          },
          "permitAgentForwarding": {
            "type": "string",
            "description": "Enable/disable appending permit-agent-forwarding certificate extension. Valid values: `enable`, `disable`.\n"
          },
          "permitPortForwarding": {
            "type": "string",
            "description": "Enable/disable appending permit-port-forwarding certificate extension. Valid values: `enable`, `disable`.\n"
          },
          "permitPty": {
            "type": "string",
            "description": "Enable/disable appending permit-pty certificate extension. Valid values: `enable`, `disable`.\n"
          },
          "permitUserRc": {
            "type": "string",
            "description": "Enable/disable appending permit-user-rc certificate extension. Valid values: `enable`, `disable`.\n"
          },
          "permitX11Forwarding": {
            "type": "string",
            "description": "Enable/disable appending permit-x11-forwarding certificate extension. Valid values: `enable`, `disable`.\n"
          },
          "sourceAddress": {
            "type": "string",
            "description": "Enable/disable appending source-address certificate critical option. This option ensure certificate only accepted from FortiGate source address. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/accessproxyvirtualhost:Accessproxyvirtualhost": {
      "description": "Configure Access Proxy virtual hosts. Applies to FortiOS Version `>= 7.0.1`.\n\n## Import\n\nFirewall AccessProxyVirtualHost can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/accessproxyvirtualhost:Accessproxyvirtualhost labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/accessproxyvirtualhost:Accessproxyvirtualhost labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "host": {
          "type": "string",
          "description": "The host name.\n"
        },
        "hostType": {
          "type": "string",
          "description": "Type of host pattern. Valid values: `sub-string`, `wildcard`.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual host name.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Access-proxy-virtual-host replacement message override group.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "SSL certificate for this host.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "host",
        "hostType",
        "name",
        "replacemsgGroup",
        "sslCertificate",
        "vdomparam"
      ],
      "inputProperties": {
        "host": {
          "type": "string",
          "description": "The host name.\n"
        },
        "hostType": {
          "type": "string",
          "description": "Type of host pattern. Valid values: `sub-string`, `wildcard`.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual host name.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Access-proxy-virtual-host replacement message override group.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "SSL certificate for this host.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Accessproxyvirtualhost resources.\n",
        "properties": {
          "host": {
            "type": "string",
            "description": "The host name.\n"
          },
          "hostType": {
            "type": "string",
            "description": "Type of host pattern. Valid values: `sub-string`, `wildcard`.\n"
          },
          "name": {
            "type": "string",
            "description": "Virtual host name.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Access-proxy-virtual-host replacement message override group.\n"
          },
          "sslCertificate": {
            "type": "string",
            "description": "SSL certificate for this host.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/address6:Address6": {
      "description": "Configure IPv6 firewall addresses.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Address6(\"trname\", {\n    cacheTtl: 0,\n    color: 0,\n    endIp: \"::\",\n    host: \"fdff:ffff::\",\n    hostType: \"any\",\n    ip6: \"fdff:ffff::/120\",\n    startIp: \"fdff:ffff::\",\n    type: \"ipprefix\",\n    visibility: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Address6(\"trname\",\n    cache_ttl=0,\n    color=0,\n    end_ip=\"::\",\n    host=\"fdff:ffff::\",\n    host_type=\"any\",\n    ip6=\"fdff:ffff::/120\",\n    start_ip=\"fdff:ffff::\",\n    type=\"ipprefix\",\n    visibility=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Address6(\"trname\", new()\n    {\n        CacheTtl = 0,\n        Color = 0,\n        EndIp = \"::\",\n        Host = \"fdff:ffff::\",\n        HostType = \"any\",\n        Ip6 = \"fdff:ffff::/120\",\n        StartIp = \"fdff:ffff::\",\n        Type = \"ipprefix\",\n        Visibility = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewAddress6(ctx, \"trname\", &firewall.Address6Args{\n\t\t\tCacheTtl:   pulumi.Int(0),\n\t\t\tColor:      pulumi.Int(0),\n\t\t\tEndIp:      pulumi.String(\"::\"),\n\t\t\tHost:       pulumi.String(\"fdff:ffff::\"),\n\t\t\tHostType:   pulumi.String(\"any\"),\n\t\t\tIp6:        pulumi.String(\"fdff:ffff::/120\"),\n\t\t\tStartIp:    pulumi.String(\"fdff:ffff::\"),\n\t\t\tType:       pulumi.String(\"ipprefix\"),\n\t\t\tVisibility: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Address6;\nimport com.pulumi.fortios.firewall.Address6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Address6(\"trname\", Address6Args.builder()\n            .cacheTtl(0)\n            .color(0)\n            .endIp(\"::\")\n            .host(\"fdff:ffff::\")\n            .hostType(\"any\")\n            .ip6(\"fdff:ffff::/120\")\n            .startIp(\"fdff:ffff::\")\n            .type(\"ipprefix\")\n            .visibility(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Address6\n    properties:\n      cacheTtl: 0\n      color: 0\n      endIp: '::'\n      host: 'fdff:ffff::'\n      hostType: any\n      ip6: fdff:ffff::/120\n      startIp: 'fdff:ffff::'\n      type: ipprefix\n      visibility: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Address6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/address6:Address6 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/address6:Address6 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cacheTtl": {
          "type": "integer",
          "description": "Minimal TTL of individual IPv6 addresses in FQDN cache.\n"
        },
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "country": {
          "type": "string",
          "description": "IPv6 addresses associated to a specific country.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "endIp": {
          "type": "string",
          "description": "Final IP address (inclusive) in the range for the address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
        },
        "endMac": {
          "type": "string",
          "description": "Last MAC address in the range.\n"
        },
        "epgName": {
          "type": "string",
          "description": "Endpoint group name.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully qualified domain name.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "host": {
          "type": "string",
          "description": "Host Address.\n"
        },
        "hostType": {
          "type": "string",
          "description": "Host type. Valid values: `any`, `specific`.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address prefix (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx).\n"
        },
        "lists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6List:Address6List"
          },
          "description": "IP address list. The structure of `list` block is documented below.\n"
        },
        "macaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6Macaddr:Address6Macaddr"
          },
          "description": "Multiple MAC address ranges. The structure of `macaddr` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "objId": {
          "type": "string",
          "description": "Object ID for NSX.\n"
        },
        "routeTag": {
          "type": "integer",
          "description": "route-tag address.\n"
        },
        "sdn": {
          "type": "string",
          "description": "SDN.\n"
        },
        "sdnTag": {
          "type": "string",
          "description": "SDN Tag.\n"
        },
        "startIp": {
          "type": "string",
          "description": "First IP address (inclusive) in the range for the address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
        },
        "startMac": {
          "type": "string",
          "description": "First MAC address in the range.\n"
        },
        "subnetSegments": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6SubnetSegment:Address6SubnetSegment"
          },
          "description": "IPv6 subnet segments. The structure of `subnet_segment` block is documented below.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6Tagging:Address6Tagging"
          },
          "description": "Config object tagging The structure of `tagging` block is documented below.\n"
        },
        "template": {
          "type": "string",
          "description": "IPv6 address template.\n"
        },
        "tenant": {
          "type": "string",
          "description": "Tenant.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of IPv6 address object (default = ipprefix).\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable the visibility of the object in the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "cacheTtl",
        "color",
        "country",
        "endIp",
        "endMac",
        "epgName",
        "fabricObject",
        "fqdn",
        "host",
        "hostType",
        "ip6",
        "name",
        "routeTag",
        "sdn",
        "sdnTag",
        "startIp",
        "startMac",
        "template",
        "tenant",
        "type",
        "uuid",
        "vdomparam",
        "visibility"
      ],
      "inputProperties": {
        "cacheTtl": {
          "type": "integer",
          "description": "Minimal TTL of individual IPv6 addresses in FQDN cache.\n"
        },
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "country": {
          "type": "string",
          "description": "IPv6 addresses associated to a specific country.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "endIp": {
          "type": "string",
          "description": "Final IP address (inclusive) in the range for the address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
        },
        "endMac": {
          "type": "string",
          "description": "Last MAC address in the range.\n"
        },
        "epgName": {
          "type": "string",
          "description": "Endpoint group name.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully qualified domain name.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "host": {
          "type": "string",
          "description": "Host Address.\n"
        },
        "hostType": {
          "type": "string",
          "description": "Host type. Valid values: `any`, `specific`.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address prefix (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx).\n"
        },
        "lists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6List:Address6List"
          },
          "description": "IP address list. The structure of `list` block is documented below.\n"
        },
        "macaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6Macaddr:Address6Macaddr"
          },
          "description": "Multiple MAC address ranges. The structure of `macaddr` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "objId": {
          "type": "string",
          "description": "Object ID for NSX.\n"
        },
        "routeTag": {
          "type": "integer",
          "description": "route-tag address.\n"
        },
        "sdn": {
          "type": "string",
          "description": "SDN.\n"
        },
        "sdnTag": {
          "type": "string",
          "description": "SDN Tag.\n"
        },
        "startIp": {
          "type": "string",
          "description": "First IP address (inclusive) in the range for the address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
        },
        "startMac": {
          "type": "string",
          "description": "First MAC address in the range.\n"
        },
        "subnetSegments": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6SubnetSegment:Address6SubnetSegment"
          },
          "description": "IPv6 subnet segments. The structure of `subnet_segment` block is documented below.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6Tagging:Address6Tagging"
          },
          "description": "Config object tagging The structure of `tagging` block is documented below.\n"
        },
        "template": {
          "type": "string",
          "description": "IPv6 address template.\n"
        },
        "tenant": {
          "type": "string",
          "description": "Tenant.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of IPv6 address object (default = ipprefix).\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable the visibility of the object in the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Address6 resources.\n",
        "properties": {
          "cacheTtl": {
            "type": "integer",
            "description": "Minimal TTL of individual IPv6 addresses in FQDN cache.\n"
          },
          "color": {
            "type": "integer",
            "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "country": {
            "type": "string",
            "description": "IPv6 addresses associated to a specific country.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "endIp": {
            "type": "string",
            "description": "Final IP address (inclusive) in the range for the address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
          },
          "endMac": {
            "type": "string",
            "description": "Last MAC address in the range.\n"
          },
          "epgName": {
            "type": "string",
            "description": "Endpoint group name.\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "fqdn": {
            "type": "string",
            "description": "Fully qualified domain name.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "host": {
            "type": "string",
            "description": "Host Address.\n"
          },
          "hostType": {
            "type": "string",
            "description": "Host type. Valid values: `any`, `specific`.\n"
          },
          "ip6": {
            "type": "string",
            "description": "IPv6 address prefix (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx).\n"
          },
          "lists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddress6List:Address6List"
            },
            "description": "IP address list. The structure of `list` block is documented below.\n"
          },
          "macaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddress6Macaddr:Address6Macaddr"
            },
            "description": "Multiple MAC address ranges. The structure of `macaddr` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Address name.\n"
          },
          "objId": {
            "type": "string",
            "description": "Object ID for NSX.\n"
          },
          "routeTag": {
            "type": "integer",
            "description": "route-tag address.\n"
          },
          "sdn": {
            "type": "string",
            "description": "SDN.\n"
          },
          "sdnTag": {
            "type": "string",
            "description": "SDN Tag.\n"
          },
          "startIp": {
            "type": "string",
            "description": "First IP address (inclusive) in the range for the address (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx).\n"
          },
          "startMac": {
            "type": "string",
            "description": "First MAC address in the range.\n"
          },
          "subnetSegments": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddress6SubnetSegment:Address6SubnetSegment"
            },
            "description": "IPv6 subnet segments. The structure of `subnet_segment` block is documented below.\n"
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddress6Tagging:Address6Tagging"
            },
            "description": "Config object tagging The structure of `tagging` block is documented below.\n"
          },
          "template": {
            "type": "string",
            "description": "IPv6 address template.\n"
          },
          "tenant": {
            "type": "string",
            "description": "Tenant.\n"
          },
          "type": {
            "type": "string",
            "description": "Type of IPv6 address object (default = ipprefix).\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable the visibility of the object in the GUI. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/address6template:Address6template": {
      "description": "Configure IPv6 address templates.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Address6template(\"trname\", {\n    ip6: \"2001:db8:0:b::/64\",\n    subnetSegments: [\n        {\n            bits: 4,\n            exclusive: \"disable\",\n            id: 1,\n            name: \"country\",\n        },\n        {\n            bits: 4,\n            exclusive: \"disable\",\n            id: 2,\n            name: \"state\",\n        },\n    ],\n    subnetSegmentCount: 2,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Address6template(\"trname\",\n    ip6=\"2001:db8:0:b::/64\",\n    subnet_segments=[\n        fortios.firewall.Address6templateSubnetSegmentArgs(\n            bits=4,\n            exclusive=\"disable\",\n            id=1,\n            name=\"country\",\n        ),\n        fortios.firewall.Address6templateSubnetSegmentArgs(\n            bits=4,\n            exclusive=\"disable\",\n            id=2,\n            name=\"state\",\n        ),\n    ],\n    subnet_segment_count=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Address6template(\"trname\", new()\n    {\n        Ip6 = \"2001:db8:0:b::/64\",\n        SubnetSegments = new[]\n        {\n            new Fortios.Firewall.Inputs.Address6templateSubnetSegmentArgs\n            {\n                Bits = 4,\n                Exclusive = \"disable\",\n                Id = 1,\n                Name = \"country\",\n            },\n            new Fortios.Firewall.Inputs.Address6templateSubnetSegmentArgs\n            {\n                Bits = 4,\n                Exclusive = \"disable\",\n                Id = 2,\n                Name = \"state\",\n            },\n        },\n        SubnetSegmentCount = 2,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewAddress6template(ctx, \"trname\", &firewall.Address6templateArgs{\n\t\t\tIp6: pulumi.String(\"2001:db8:0:b::/64\"),\n\t\t\tSubnetSegments: firewall.Address6templateSubnetSegmentArray{\n\t\t\t\t&firewall.Address6templateSubnetSegmentArgs{\n\t\t\t\t\tBits:      pulumi.Int(4),\n\t\t\t\t\tExclusive: pulumi.String(\"disable\"),\n\t\t\t\t\tId:        pulumi.Int(1),\n\t\t\t\t\tName:      pulumi.String(\"country\"),\n\t\t\t\t},\n\t\t\t\t&firewall.Address6templateSubnetSegmentArgs{\n\t\t\t\t\tBits:      pulumi.Int(4),\n\t\t\t\t\tExclusive: pulumi.String(\"disable\"),\n\t\t\t\t\tId:        pulumi.Int(2),\n\t\t\t\t\tName:      pulumi.String(\"state\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubnetSegmentCount: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Address6template;\nimport com.pulumi.fortios.firewall.Address6templateArgs;\nimport com.pulumi.fortios.firewall.inputs.Address6templateSubnetSegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Address6template(\"trname\", Address6templateArgs.builder()\n            .ip6(\"2001:db8:0:b::/64\")\n            .subnetSegments(            \n                Address6templateSubnetSegmentArgs.builder()\n                    .bits(4)\n                    .exclusive(\"disable\")\n                    .id(1)\n                    .name(\"country\")\n                    .build(),\n                Address6templateSubnetSegmentArgs.builder()\n                    .bits(4)\n                    .exclusive(\"disable\")\n                    .id(2)\n                    .name(\"state\")\n                    .build())\n            .subnetSegmentCount(2)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Address6template\n    properties:\n      ip6: 2001:db8:0:b::/64\n      subnetSegments:\n        - bits: 4\n          exclusive: disable\n          id: 1\n          name: country\n        - bits: 4\n          exclusive: disable\n          id: 2\n          name: state\n      subnetSegmentCount: 2\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Address6Template can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/address6template:Address6template labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/address6template:Address6template labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address prefix.\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 address template name.\n"
        },
        "subnetSegmentCount": {
          "type": "integer",
          "description": "Number of IPv6 subnet segments.\n"
        },
        "subnetSegments": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6templateSubnetSegment:Address6templateSubnetSegment"
          },
          "description": "IPv6 subnet segments. The structure of `subnet_segment` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fabricObject",
        "ip6",
        "name",
        "subnetSegmentCount",
        "vdomparam"
      ],
      "inputProperties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address prefix.\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 address template name.\n"
        },
        "subnetSegmentCount": {
          "type": "integer",
          "description": "Number of IPv6 subnet segments.\n"
        },
        "subnetSegments": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddress6templateSubnetSegment:Address6templateSubnetSegment"
          },
          "description": "IPv6 subnet segments. The structure of `subnet_segment` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "ip6",
        "subnetSegmentCount"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Address6template resources.\n",
        "properties": {
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ip6": {
            "type": "string",
            "description": "IPv6 address prefix.\n"
          },
          "name": {
            "type": "string",
            "description": "IPv6 address template name.\n"
          },
          "subnetSegmentCount": {
            "type": "integer",
            "description": "Number of IPv6 subnet segments.\n"
          },
          "subnetSegments": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddress6templateSubnetSegment:Address6templateSubnetSegment"
            },
            "description": "IPv6 subnet segments. The structure of `subnet_segment` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/address:Address": {
      "description": "Configure IPv4 addresses.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Address(\"trname\", {\n    allowRouting: \"disable\",\n    associatedInterface: \"port2\",\n    color: 3,\n    endIp: \"255.255.255.0\",\n    startIp: \"22.1.1.0\",\n    subnet: \"22.1.1.0 255.255.255.0\",\n    type: \"ipmask\",\n    visibility: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Address(\"trname\",\n    allow_routing=\"disable\",\n    associated_interface=\"port2\",\n    color=3,\n    end_ip=\"255.255.255.0\",\n    start_ip=\"22.1.1.0\",\n    subnet=\"22.1.1.0 255.255.255.0\",\n    type=\"ipmask\",\n    visibility=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Address(\"trname\", new()\n    {\n        AllowRouting = \"disable\",\n        AssociatedInterface = \"port2\",\n        Color = 3,\n        EndIp = \"255.255.255.0\",\n        StartIp = \"22.1.1.0\",\n        Subnet = \"22.1.1.0 255.255.255.0\",\n        Type = \"ipmask\",\n        Visibility = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewAddress(ctx, \"trname\", &firewall.AddressArgs{\n\t\t\tAllowRouting:        pulumi.String(\"disable\"),\n\t\t\tAssociatedInterface: pulumi.String(\"port2\"),\n\t\t\tColor:               pulumi.Int(3),\n\t\t\tEndIp:               pulumi.String(\"255.255.255.0\"),\n\t\t\tStartIp:             pulumi.String(\"22.1.1.0\"),\n\t\t\tSubnet:              pulumi.String(\"22.1.1.0 255.255.255.0\"),\n\t\t\tType:                pulumi.String(\"ipmask\"),\n\t\t\tVisibility:          pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Address;\nimport com.pulumi.fortios.firewall.AddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Address(\"trname\", AddressArgs.builder()\n            .allowRouting(\"disable\")\n            .associatedInterface(\"port2\")\n            .color(3)\n            .endIp(\"255.255.255.0\")\n            .startIp(\"22.1.1.0\")\n            .subnet(\"22.1.1.0 255.255.255.0\")\n            .type(\"ipmask\")\n            .visibility(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Address\n    properties:\n      allowRouting: disable\n      associatedInterface: port2\n      color: 3\n      endIp: 255.255.255.0\n      startIp: 22.1.1.0\n      subnet: 22.1.1.0 255.255.255.0\n      type: ipmask\n      visibility: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Address can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/address:Address labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/address:Address labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowRouting": {
          "type": "string",
          "description": "Enable/disable use of this address in the static route configuration. Valid values: `enable`, `disable`.\n"
        },
        "associatedInterface": {
          "type": "string",
          "description": "Network interface associated with address.\n"
        },
        "cacheTtl": {
          "type": "integer",
          "description": "Defines the minimal TTL of individual IP addresses in FQDN cache measured in seconds.\n"
        },
        "clearpassSpt": {
          "type": "string",
          "description": "SPT (System Posture Token) value. Valid values: `unknown`, `healthy`, `quarantine`, `checkup`, `transient`, `infected`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "country": {
          "type": "string",
          "description": "IP addresses associated to a specific country.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "endIp": {
          "type": "string",
          "description": "Final IP address (inclusive) in the range for the address.\n"
        },
        "endMac": {
          "type": "string",
          "description": "Last MAC address in the range.\n"
        },
        "epgName": {
          "type": "string",
          "description": "Endpoint group name.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "filter": {
          "type": "string",
          "description": "Match criteria filter.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully Qualified Domain Name address.\n"
        },
        "fssoGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddressFssoGroup:AddressFssoGroup"
          },
          "description": "FSSO group(s). The structure of `fsso_group` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hwModel": {
          "type": "string",
          "description": "Dynamic address matching hardware model.\n"
        },
        "hwVendor": {
          "type": "string",
          "description": "Dynamic address matching hardware vendor.\n"
        },
        "interface": {
          "type": "string",
          "description": "Name of interface whose IP address is to be used.\n"
        },
        "lists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddressList:AddressList"
          },
          "description": "IP address list. The structure of `list` block is documented below.\n"
        },
        "macaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddressMacaddr:AddressMacaddr"
          },
          "description": "Multiple MAC address ranges. The structure of `macaddr` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "nodeIpOnly": {
          "type": "string",
          "description": "Enable/disable collection of node addresses only in Kubernetes. Valid values: `enable`, `disable`.\n"
        },
        "objId": {
          "type": "string",
          "description": "Object ID for NSX.\n"
        },
        "objTag": {
          "type": "string",
          "description": "Tag of dynamic address object.\n"
        },
        "objType": {
          "type": "string",
          "description": "Object type. Valid values: `ip`, `mac`.\n"
        },
        "organization": {
          "type": "string",
          "description": "Organization domain name (Syntax: organization/domain).\n"
        },
        "os": {
          "type": "string",
          "description": "Dynamic address matching operating system.\n"
        },
        "policyGroup": {
          "type": "string",
          "description": "Policy group name.\n"
        },
        "routeTag": {
          "type": "integer",
          "description": "route-tag address.\n"
        },
        "sdn": {
          "type": "string",
          "description": "SDN.\n"
        },
        "sdnAddrType": {
          "type": "string",
          "description": "Type of addresses to collect. Valid values: `private`, `public`, `all`.\n"
        },
        "sdnTag": {
          "type": "string",
          "description": "SDN Tag.\n"
        },
        "startIp": {
          "type": "string",
          "description": "First IP address (inclusive) in the range for the address.\n"
        },
        "startMac": {
          "type": "string",
          "description": "First MAC address in the range.\n"
        },
        "subType": {
          "type": "string",
          "description": "Sub-type of address.\n"
        },
        "subnet": {
          "type": "string",
          "description": "IP address and subnet mask of address.\n"
        },
        "subnetName": {
          "type": "string",
          "description": "Subnet name.\n"
        },
        "swVersion": {
          "type": "string",
          "description": "Dynamic address matching software version.\n"
        },
        "tagDetectionLevel": {
          "type": "string",
          "description": "Tag detection level of dynamic address object.\n"
        },
        "tagType": {
          "type": "string",
          "description": "Tag type of dynamic address object.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddressTagging:AddressTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "tenant": {
          "type": "string",
          "description": "Tenant.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of address.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable address visibility in the GUI. Valid values: `enable`, `disable`.\n"
        },
        "wildcard": {
          "type": "string",
          "description": "IP address and wildcard netmask.\n"
        },
        "wildcardFqdn": {
          "type": "string",
          "description": "Fully Qualified Domain Name with wildcard characters.\n"
        }
      },
      "type": "object",
      "required": [
        "allowRouting",
        "clearpassSpt",
        "endIp",
        "endMac",
        "fabricObject",
        "lists",
        "name",
        "nodeIpOnly",
        "objType",
        "sdnAddrType",
        "startIp",
        "startMac",
        "subType",
        "subnet",
        "type",
        "uuid",
        "vdomparam",
        "wildcard"
      ],
      "inputProperties": {
        "allowRouting": {
          "type": "string",
          "description": "Enable/disable use of this address in the static route configuration. Valid values: `enable`, `disable`.\n"
        },
        "associatedInterface": {
          "type": "string",
          "description": "Network interface associated with address.\n"
        },
        "cacheTtl": {
          "type": "integer",
          "description": "Defines the minimal TTL of individual IP addresses in FQDN cache measured in seconds.\n"
        },
        "clearpassSpt": {
          "type": "string",
          "description": "SPT (System Posture Token) value. Valid values: `unknown`, `healthy`, `quarantine`, `checkup`, `transient`, `infected`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "country": {
          "type": "string",
          "description": "IP addresses associated to a specific country.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "endIp": {
          "type": "string",
          "description": "Final IP address (inclusive) in the range for the address.\n"
        },
        "endMac": {
          "type": "string",
          "description": "Last MAC address in the range.\n"
        },
        "epgName": {
          "type": "string",
          "description": "Endpoint group name.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "filter": {
          "type": "string",
          "description": "Match criteria filter.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully Qualified Domain Name address.\n"
        },
        "fssoGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddressFssoGroup:AddressFssoGroup"
          },
          "description": "FSSO group(s). The structure of `fsso_group` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hwModel": {
          "type": "string",
          "description": "Dynamic address matching hardware model.\n"
        },
        "hwVendor": {
          "type": "string",
          "description": "Dynamic address matching hardware vendor.\n"
        },
        "interface": {
          "type": "string",
          "description": "Name of interface whose IP address is to be used.\n"
        },
        "lists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddressList:AddressList"
          },
          "description": "IP address list. The structure of `list` block is documented below.\n"
        },
        "macaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddressMacaddr:AddressMacaddr"
          },
          "description": "Multiple MAC address ranges. The structure of `macaddr` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "nodeIpOnly": {
          "type": "string",
          "description": "Enable/disable collection of node addresses only in Kubernetes. Valid values: `enable`, `disable`.\n"
        },
        "objId": {
          "type": "string",
          "description": "Object ID for NSX.\n"
        },
        "objTag": {
          "type": "string",
          "description": "Tag of dynamic address object.\n"
        },
        "objType": {
          "type": "string",
          "description": "Object type. Valid values: `ip`, `mac`.\n"
        },
        "organization": {
          "type": "string",
          "description": "Organization domain name (Syntax: organization/domain).\n"
        },
        "os": {
          "type": "string",
          "description": "Dynamic address matching operating system.\n"
        },
        "policyGroup": {
          "type": "string",
          "description": "Policy group name.\n"
        },
        "routeTag": {
          "type": "integer",
          "description": "route-tag address.\n"
        },
        "sdn": {
          "type": "string",
          "description": "SDN.\n"
        },
        "sdnAddrType": {
          "type": "string",
          "description": "Type of addresses to collect. Valid values: `private`, `public`, `all`.\n"
        },
        "sdnTag": {
          "type": "string",
          "description": "SDN Tag.\n"
        },
        "startIp": {
          "type": "string",
          "description": "First IP address (inclusive) in the range for the address.\n"
        },
        "startMac": {
          "type": "string",
          "description": "First MAC address in the range.\n"
        },
        "subType": {
          "type": "string",
          "description": "Sub-type of address.\n"
        },
        "subnet": {
          "type": "string",
          "description": "IP address and subnet mask of address.\n"
        },
        "subnetName": {
          "type": "string",
          "description": "Subnet name.\n"
        },
        "swVersion": {
          "type": "string",
          "description": "Dynamic address matching software version.\n"
        },
        "tagDetectionLevel": {
          "type": "string",
          "description": "Tag detection level of dynamic address object.\n"
        },
        "tagType": {
          "type": "string",
          "description": "Tag type of dynamic address object.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddressTagging:AddressTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "tenant": {
          "type": "string",
          "description": "Tenant.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of address.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable address visibility in the GUI. Valid values: `enable`, `disable`.\n"
        },
        "wildcard": {
          "type": "string",
          "description": "IP address and wildcard netmask.\n"
        },
        "wildcardFqdn": {
          "type": "string",
          "description": "Fully Qualified Domain Name with wildcard characters.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Address resources.\n",
        "properties": {
          "allowRouting": {
            "type": "string",
            "description": "Enable/disable use of this address in the static route configuration. Valid values: `enable`, `disable`.\n"
          },
          "associatedInterface": {
            "type": "string",
            "description": "Network interface associated with address.\n"
          },
          "cacheTtl": {
            "type": "integer",
            "description": "Defines the minimal TTL of individual IP addresses in FQDN cache measured in seconds.\n"
          },
          "clearpassSpt": {
            "type": "string",
            "description": "SPT (System Posture Token) value. Valid values: `unknown`, `healthy`, `quarantine`, `checkup`, `transient`, `infected`.\n"
          },
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "country": {
            "type": "string",
            "description": "IP addresses associated to a specific country.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "endIp": {
            "type": "string",
            "description": "Final IP address (inclusive) in the range for the address.\n"
          },
          "endMac": {
            "type": "string",
            "description": "Last MAC address in the range.\n"
          },
          "epgName": {
            "type": "string",
            "description": "Endpoint group name.\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "filter": {
            "type": "string",
            "description": "Match criteria filter.\n"
          },
          "fqdn": {
            "type": "string",
            "description": "Fully Qualified Domain Name address.\n"
          },
          "fssoGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddressFssoGroup:AddressFssoGroup"
            },
            "description": "FSSO group(s). The structure of `fsso_group` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "hwModel": {
            "type": "string",
            "description": "Dynamic address matching hardware model.\n"
          },
          "hwVendor": {
            "type": "string",
            "description": "Dynamic address matching hardware vendor.\n"
          },
          "interface": {
            "type": "string",
            "description": "Name of interface whose IP address is to be used.\n"
          },
          "lists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddressList:AddressList"
            },
            "description": "IP address list. The structure of `list` block is documented below.\n"
          },
          "macaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddressMacaddr:AddressMacaddr"
            },
            "description": "Multiple MAC address ranges. The structure of `macaddr` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Address name.\n"
          },
          "nodeIpOnly": {
            "type": "string",
            "description": "Enable/disable collection of node addresses only in Kubernetes. Valid values: `enable`, `disable`.\n"
          },
          "objId": {
            "type": "string",
            "description": "Object ID for NSX.\n"
          },
          "objTag": {
            "type": "string",
            "description": "Tag of dynamic address object.\n"
          },
          "objType": {
            "type": "string",
            "description": "Object type. Valid values: `ip`, `mac`.\n"
          },
          "organization": {
            "type": "string",
            "description": "Organization domain name (Syntax: organization/domain).\n"
          },
          "os": {
            "type": "string",
            "description": "Dynamic address matching operating system.\n"
          },
          "policyGroup": {
            "type": "string",
            "description": "Policy group name.\n"
          },
          "routeTag": {
            "type": "integer",
            "description": "route-tag address.\n"
          },
          "sdn": {
            "type": "string",
            "description": "SDN.\n"
          },
          "sdnAddrType": {
            "type": "string",
            "description": "Type of addresses to collect. Valid values: `private`, `public`, `all`.\n"
          },
          "sdnTag": {
            "type": "string",
            "description": "SDN Tag.\n"
          },
          "startIp": {
            "type": "string",
            "description": "First IP address (inclusive) in the range for the address.\n"
          },
          "startMac": {
            "type": "string",
            "description": "First MAC address in the range.\n"
          },
          "subType": {
            "type": "string",
            "description": "Sub-type of address.\n"
          },
          "subnet": {
            "type": "string",
            "description": "IP address and subnet mask of address.\n"
          },
          "subnetName": {
            "type": "string",
            "description": "Subnet name.\n"
          },
          "swVersion": {
            "type": "string",
            "description": "Dynamic address matching software version.\n"
          },
          "tagDetectionLevel": {
            "type": "string",
            "description": "Tag detection level of dynamic address object.\n"
          },
          "tagType": {
            "type": "string",
            "description": "Tag type of dynamic address object.\n"
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddressTagging:AddressTagging"
            },
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
          },
          "tenant": {
            "type": "string",
            "description": "Tenant.\n"
          },
          "type": {
            "type": "string",
            "description": "Type of address.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable address visibility in the GUI. Valid values: `enable`, `disable`.\n"
          },
          "wildcard": {
            "type": "string",
            "description": "IP address and wildcard netmask.\n"
          },
          "wildcardFqdn": {
            "type": "string",
            "description": "Fully Qualified Domain Name with wildcard characters.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/addrgrp6:Addrgrp6": {
      "description": "Configure IPv6 address groups.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1 = new fortios.firewall.Address6(\"trname1\", {\n    cacheTtl: 0,\n    color: 0,\n    endIp: \"::\",\n    host: \"\",\n    hostType: \"any\",\n    ip6: \"fdff:ffff::/120\",\n    startIp: \"\",\n    type: \"ipprefix\",\n    visibility: \"enable\",\n});\nconst trname = new fortios.firewall.Addrgrp6(\"trname\", {\n    color: 0,\n    visibility: \"enable\",\n    members: [{\n        name: trname1.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.firewall.Address6(\"trname1\",\n    cache_ttl=0,\n    color=0,\n    end_ip=\"::\",\n    host=\"\",\n    host_type=\"any\",\n    ip6=\"fdff:ffff::/120\",\n    start_ip=\"\",\n    type=\"ipprefix\",\n    visibility=\"enable\")\ntrname = fortios.firewall.Addrgrp6(\"trname\",\n    color=0,\n    visibility=\"enable\",\n    members=[fortios.firewall.Addrgrp6MemberArgs(\n        name=trname1.name,\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname1 = new Fortios.Firewall.Address6(\"trname1\", new()\n    {\n        CacheTtl = 0,\n        Color = 0,\n        EndIp = \"::\",\n        Host = \"\",\n        HostType = \"any\",\n        Ip6 = \"fdff:ffff::/120\",\n        StartIp = \"\",\n        Type = \"ipprefix\",\n        Visibility = \"enable\",\n    });\n\n    var trname = new Fortios.Firewall.Addrgrp6(\"trname\", new()\n    {\n        Color = 0,\n        Visibility = \"enable\",\n        Members = new[]\n        {\n            new Fortios.Firewall.Inputs.Addrgrp6MemberArgs\n            {\n                Name = trname1.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := firewall.NewAddress6(ctx, \"trname1\", &firewall.Address6Args{\n\t\t\tCacheTtl:   pulumi.Int(0),\n\t\t\tColor:      pulumi.Int(0),\n\t\t\tEndIp:      pulumi.String(\"::\"),\n\t\t\tHost:       pulumi.String(\"\"),\n\t\t\tHostType:   pulumi.String(\"any\"),\n\t\t\tIp6:        pulumi.String(\"fdff:ffff::/120\"),\n\t\t\tStartIp:    pulumi.String(\"\"),\n\t\t\tType:       pulumi.String(\"ipprefix\"),\n\t\t\tVisibility: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewAddrgrp6(ctx, \"trname\", &firewall.Addrgrp6Args{\n\t\t\tColor:      pulumi.Int(0),\n\t\t\tVisibility: pulumi.String(\"enable\"),\n\t\t\tMembers: firewall.Addrgrp6MemberArray{\n\t\t\t\t&firewall.Addrgrp6MemberArgs{\n\t\t\t\t\tName: trname1.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Address6;\nimport com.pulumi.fortios.firewall.Address6Args;\nimport com.pulumi.fortios.firewall.Addrgrp6;\nimport com.pulumi.fortios.firewall.Addrgrp6Args;\nimport com.pulumi.fortios.firewall.inputs.Addrgrp6MemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname1 = new Address6(\"trname1\", Address6Args.builder()\n            .cacheTtl(0)\n            .color(0)\n            .endIp(\"::\")\n            .host(\"\")\n            .hostType(\"any\")\n            .ip6(\"fdff:ffff::/120\")\n            .startIp(\"\")\n            .type(\"ipprefix\")\n            .visibility(\"enable\")\n            .build());\n\n        var trname = new Addrgrp6(\"trname\", Addrgrp6Args.builder()\n            .color(0)\n            .visibility(\"enable\")\n            .members(Addrgrp6MemberArgs.builder()\n                .name(trname1.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:firewall:Address6\n    properties:\n      cacheTtl: 0\n      color: 0\n      endIp: '::'\n      host:\n      hostType: any\n      ip6: fdff:ffff::/120\n      startIp:\n      type: ipprefix\n      visibility: enable\n  trname:\n    type: fortios:firewall:Addrgrp6\n    properties:\n      color: 0\n      visibility: enable\n      members:\n        - name: ${trname1.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Addrgrp6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/addrgrp6:Addrgrp6 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/addrgrp6:Addrgrp6 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets the value to 1).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "exclude": {
          "type": "string",
          "description": "Enable/disable address6 exclusion. Valid values: `enable`, `disable`.\n"
        },
        "excludeMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrp6ExcludeMember:Addrgrp6ExcludeMember"
          },
          "description": "Address6 exclusion member. The structure of `exclude_member` block is documented below.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrp6Member:Addrgrp6Member"
          },
          "description": "Address objects contained within the group. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 address group name.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrp6Tagging:Addrgrp6Tagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable address group6 visibility in the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "exclude",
        "fabricObject",
        "members",
        "name",
        "uuid",
        "vdomparam",
        "visibility"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets the value to 1).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "exclude": {
          "type": "string",
          "description": "Enable/disable address6 exclusion. Valid values: `enable`, `disable`.\n"
        },
        "excludeMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrp6ExcludeMember:Addrgrp6ExcludeMember"
          },
          "description": "Address6 exclusion member. The structure of `exclude_member` block is documented below.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrp6Member:Addrgrp6Member"
          },
          "description": "Address objects contained within the group. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 address group name.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrp6Tagging:Addrgrp6Tagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable address group6 visibility in the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Addrgrp6 resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets the value to 1).\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "exclude": {
            "type": "string",
            "description": "Enable/disable address6 exclusion. Valid values: `enable`, `disable`.\n"
          },
          "excludeMembers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddrgrp6ExcludeMember:Addrgrp6ExcludeMember"
            },
            "description": "Address6 exclusion member. The structure of `exclude_member` block is documented below.\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddrgrp6Member:Addrgrp6Member"
            },
            "description": "Address objects contained within the group. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "IPv6 address group name.\n"
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddrgrp6Tagging:Addrgrp6Tagging"
            },
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable address group6 visibility in the GUI. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/addrgrp:Addrgrp": {
      "description": "Configure IPv4 address groups.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1 = new fortios.firewall.Address(\"trname1\", {\n    allowRouting: \"disable\",\n    cacheTtl: 0,\n    color: 0,\n    endIp: \"255.0.0.0\",\n    startIp: \"12.0.0.0\",\n    subnet: \"12.0.0.0 255.0.0.0\",\n    type: \"ipmask\",\n    visibility: \"enable\",\n    wildcard: \"12.0.0.0 255.0.0.0\",\n});\nconst trname = new fortios.firewall.Addrgrp(\"trname\", {\n    allowRouting: \"disable\",\n    color: 0,\n    exclude: \"disable\",\n    visibility: \"enable\",\n    members: [{\n        name: trname1.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.firewall.Address(\"trname1\",\n    allow_routing=\"disable\",\n    cache_ttl=0,\n    color=0,\n    end_ip=\"255.0.0.0\",\n    start_ip=\"12.0.0.0\",\n    subnet=\"12.0.0.0 255.0.0.0\",\n    type=\"ipmask\",\n    visibility=\"enable\",\n    wildcard=\"12.0.0.0 255.0.0.0\")\ntrname = fortios.firewall.Addrgrp(\"trname\",\n    allow_routing=\"disable\",\n    color=0,\n    exclude=\"disable\",\n    visibility=\"enable\",\n    members=[fortios.firewall.AddrgrpMemberArgs(\n        name=trname1.name,\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname1 = new Fortios.Firewall.Address(\"trname1\", new()\n    {\n        AllowRouting = \"disable\",\n        CacheTtl = 0,\n        Color = 0,\n        EndIp = \"255.0.0.0\",\n        StartIp = \"12.0.0.0\",\n        Subnet = \"12.0.0.0 255.0.0.0\",\n        Type = \"ipmask\",\n        Visibility = \"enable\",\n        Wildcard = \"12.0.0.0 255.0.0.0\",\n    });\n\n    var trname = new Fortios.Firewall.Addrgrp(\"trname\", new()\n    {\n        AllowRouting = \"disable\",\n        Color = 0,\n        Exclude = \"disable\",\n        Visibility = \"enable\",\n        Members = new[]\n        {\n            new Fortios.Firewall.Inputs.AddrgrpMemberArgs\n            {\n                Name = trname1.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := firewall.NewAddress(ctx, \"trname1\", &firewall.AddressArgs{\n\t\t\tAllowRouting: pulumi.String(\"disable\"),\n\t\t\tCacheTtl:     pulumi.Int(0),\n\t\t\tColor:        pulumi.Int(0),\n\t\t\tEndIp:        pulumi.String(\"255.0.0.0\"),\n\t\t\tStartIp:      pulumi.String(\"12.0.0.0\"),\n\t\t\tSubnet:       pulumi.String(\"12.0.0.0 255.0.0.0\"),\n\t\t\tType:         pulumi.String(\"ipmask\"),\n\t\t\tVisibility:   pulumi.String(\"enable\"),\n\t\t\tWildcard:     pulumi.String(\"12.0.0.0 255.0.0.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewAddrgrp(ctx, \"trname\", &firewall.AddrgrpArgs{\n\t\t\tAllowRouting: pulumi.String(\"disable\"),\n\t\t\tColor:        pulumi.Int(0),\n\t\t\tExclude:      pulumi.String(\"disable\"),\n\t\t\tVisibility:   pulumi.String(\"enable\"),\n\t\t\tMembers: firewall.AddrgrpMemberArray{\n\t\t\t\t&firewall.AddrgrpMemberArgs{\n\t\t\t\t\tName: trname1.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Address;\nimport com.pulumi.fortios.firewall.AddressArgs;\nimport com.pulumi.fortios.firewall.Addrgrp;\nimport com.pulumi.fortios.firewall.AddrgrpArgs;\nimport com.pulumi.fortios.firewall.inputs.AddrgrpMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname1 = new Address(\"trname1\", AddressArgs.builder()\n            .allowRouting(\"disable\")\n            .cacheTtl(0)\n            .color(0)\n            .endIp(\"255.0.0.0\")\n            .startIp(\"12.0.0.0\")\n            .subnet(\"12.0.0.0 255.0.0.0\")\n            .type(\"ipmask\")\n            .visibility(\"enable\")\n            .wildcard(\"12.0.0.0 255.0.0.0\")\n            .build());\n\n        var trname = new Addrgrp(\"trname\", AddrgrpArgs.builder()\n            .allowRouting(\"disable\")\n            .color(0)\n            .exclude(\"disable\")\n            .visibility(\"enable\")\n            .members(AddrgrpMemberArgs.builder()\n                .name(trname1.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:firewall:Address\n    properties:\n      allowRouting: disable\n      cacheTtl: 0\n      color: 0\n      endIp: 255.0.0.0\n      startIp: 12.0.0.0\n      subnet: 12.0.0.0 255.0.0.0\n      type: ipmask\n      visibility: enable\n      wildcard: 12.0.0.0 255.0.0.0\n  trname:\n    type: fortios:firewall:Addrgrp\n    properties:\n      allowRouting: disable\n      color: 0\n      exclude: disable\n      visibility: enable\n      members:\n        - name: ${trname1.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Addrgrp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/addrgrp:Addrgrp labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/addrgrp:Addrgrp labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowRouting": {
          "type": "string",
          "description": "Enable/disable use of this group in the static route configuration. Valid values: `enable`, `disable`.\n"
        },
        "category": {
          "type": "string",
          "description": "Address group category. Valid values: `default`, `ztna-ems-tag`, `ztna-geo-tag`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "exclude": {
          "type": "string",
          "description": "Enable/disable address exclusion. Valid values: `enable`, `disable`.\n"
        },
        "excludeMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrpExcludeMember:AddrgrpExcludeMember"
          },
          "description": "Address exclusion member. The structure of `exclude_member` block is documented below.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrpMember:AddrgrpMember"
          },
          "description": "Address objects contained within the group. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address group name.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrpTagging:AddrgrpTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Address group type. Valid values: `default`, `folder`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable address visibility in the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "allowRouting",
        "category",
        "color",
        "exclude",
        "fabricObject",
        "members",
        "name",
        "type",
        "uuid",
        "vdomparam",
        "visibility"
      ],
      "inputProperties": {
        "allowRouting": {
          "type": "string",
          "description": "Enable/disable use of this group in the static route configuration. Valid values: `enable`, `disable`.\n"
        },
        "category": {
          "type": "string",
          "description": "Address group category. Valid values: `default`, `ztna-ems-tag`, `ztna-geo-tag`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "exclude": {
          "type": "string",
          "description": "Enable/disable address exclusion. Valid values: `enable`, `disable`.\n"
        },
        "excludeMembers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrpExcludeMember:AddrgrpExcludeMember"
          },
          "description": "Address exclusion member. The structure of `exclude_member` block is documented below.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrpMember:AddrgrpMember"
          },
          "description": "Address objects contained within the group. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address group name.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAddrgrpTagging:AddrgrpTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Address group type. Valid values: `default`, `folder`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable address visibility in the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Addrgrp resources.\n",
        "properties": {
          "allowRouting": {
            "type": "string",
            "description": "Enable/disable use of this group in the static route configuration. Valid values: `enable`, `disable`.\n"
          },
          "category": {
            "type": "string",
            "description": "Address group category. Valid values: `default`, `ztna-ems-tag`, `ztna-geo-tag`.\n"
          },
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "exclude": {
            "type": "string",
            "description": "Enable/disable address exclusion. Valid values: `enable`, `disable`.\n"
          },
          "excludeMembers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddrgrpExcludeMember:AddrgrpExcludeMember"
            },
            "description": "Address exclusion member. The structure of `exclude_member` block is documented below.\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddrgrpMember:AddrgrpMember"
            },
            "description": "Address objects contained within the group. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Address group name.\n"
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAddrgrpTagging:AddrgrpTagging"
            },
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "Address group type. Valid values: `default`, `folder`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable address visibility in the GUI. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/authportal:Authportal": {
      "description": "Configure firewall authentication portals.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Authportal(\"trname\", {\n    groups: [{\n        name: \"Guest-group\",\n    }],\n    portalAddr: \"1.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Authportal(\"trname\",\n    groups=[fortios.firewall.AuthportalGroupArgs(\n        name=\"Guest-group\",\n    )],\n    portal_addr=\"1.1.1.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Authportal(\"trname\", new()\n    {\n        Groups = new[]\n        {\n            new Fortios.Firewall.Inputs.AuthportalGroupArgs\n            {\n                Name = \"Guest-group\",\n            },\n        },\n        PortalAddr = \"1.1.1.1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewAuthportal(ctx, \"trname\", &firewall.AuthportalArgs{\n\t\t\tGroups: firewall.AuthportalGroupArray{\n\t\t\t\t&firewall.AuthportalGroupArgs{\n\t\t\t\t\tName: pulumi.String(\"Guest-group\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPortalAddr: pulumi.String(\"1.1.1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Authportal;\nimport com.pulumi.fortios.firewall.AuthportalArgs;\nimport com.pulumi.fortios.firewall.inputs.AuthportalGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Authportal(\"trname\", AuthportalArgs.builder()\n            .groups(AuthportalGroupArgs.builder()\n                .name(\"Guest-group\")\n                .build())\n            .portalAddr(\"1.1.1.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Authportal\n    properties:\n      groups:\n        - name: Guest-group\n      portalAddr: 1.1.1.1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall AuthPortal can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/authportal:Authportal labelname FirewallAuthPortal\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/authportal:Authportal labelname FirewallAuthPortal\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAuthportalGroup:AuthportalGroup"
          },
          "description": "Firewall user groups permitted to authenticate through this portal. Separate group names with spaces. The structure of `groups` block is documented below.\n"
        },
        "identityBasedRoute": {
          "type": "string",
          "description": "Name of the identity-based route that applies to this portal.\n"
        },
        "portalAddr": {
          "type": "string",
          "description": "Address (or FQDN) of the authentication portal.\n"
        },
        "portalAddr6": {
          "type": "string",
          "description": "IPv6 address (or FQDN) of authentication portal.\n"
        },
        "proxyAuth": {
          "type": "string",
          "description": "Enable/disable authentication by proxy daemon (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "identityBasedRoute",
        "portalAddr",
        "portalAddr6",
        "proxyAuth",
        "vdomparam"
      ],
      "inputProperties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FAuthportalGroup:AuthportalGroup"
          },
          "description": "Firewall user groups permitted to authenticate through this portal. Separate group names with spaces. The structure of `groups` block is documented below.\n"
        },
        "identityBasedRoute": {
          "type": "string",
          "description": "Name of the identity-based route that applies to this portal.\n"
        },
        "portalAddr": {
          "type": "string",
          "description": "Address (or FQDN) of the authentication portal.\n"
        },
        "portalAddr6": {
          "type": "string",
          "description": "IPv6 address (or FQDN) of authentication portal.\n"
        },
        "proxyAuth": {
          "type": "string",
          "description": "Enable/disable authentication by proxy daemon (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Authportal resources.\n",
        "properties": {
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FAuthportalGroup:AuthportalGroup"
            },
            "description": "Firewall user groups permitted to authenticate through this portal. Separate group names with spaces. The structure of `groups` block is documented below.\n"
          },
          "identityBasedRoute": {
            "type": "string",
            "description": "Name of the identity-based route that applies to this portal.\n"
          },
          "portalAddr": {
            "type": "string",
            "description": "Address (or FQDN) of the authentication portal.\n"
          },
          "portalAddr6": {
            "type": "string",
            "description": "IPv6 address (or FQDN) of authentication portal.\n"
          },
          "proxyAuth": {
            "type": "string",
            "description": "Enable/disable authentication by proxy daemon (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/centralsnatmap:Centralsnatmap": {
      "description": "Configure central SNAT policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Centralsnatmap(\"trname\", {\n    dstAddrs: [{\n        name: \"all\",\n    }],\n    dstintfs: [{\n        name: \"port3\",\n    }],\n    nat: \"enable\",\n    natPort: \"0\",\n    origAddrs: [{\n        name: \"all\",\n    }],\n    origPort: \"0\",\n    policyid: 1,\n    protocol: 33,\n    srcintfs: [{\n        name: \"port1\",\n    }],\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Centralsnatmap(\"trname\",\n    dst_addrs=[fortios.firewall.CentralsnatmapDstAddrArgs(\n        name=\"all\",\n    )],\n    dstintfs=[fortios.firewall.CentralsnatmapDstintfArgs(\n        name=\"port3\",\n    )],\n    nat=\"enable\",\n    nat_port=\"0\",\n    orig_addrs=[fortios.firewall.CentralsnatmapOrigAddrArgs(\n        name=\"all\",\n    )],\n    orig_port=\"0\",\n    policyid=1,\n    protocol=33,\n    srcintfs=[fortios.firewall.CentralsnatmapSrcintfArgs(\n        name=\"port1\",\n    )],\n    status=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Centralsnatmap(\"trname\", new()\n    {\n        DstAddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.CentralsnatmapDstAddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Dstintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.CentralsnatmapDstintfArgs\n            {\n                Name = \"port3\",\n            },\n        },\n        Nat = \"enable\",\n        NatPort = \"0\",\n        OrigAddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.CentralsnatmapOrigAddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        OrigPort = \"0\",\n        Policyid = 1,\n        Protocol = 33,\n        Srcintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.CentralsnatmapSrcintfArgs\n            {\n                Name = \"port1\",\n            },\n        },\n        Status = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewCentralsnatmap(ctx, \"trname\", &firewall.CentralsnatmapArgs{\n\t\t\tDstAddrs: firewall.CentralsnatmapDstAddrArray{\n\t\t\t\t&firewall.CentralsnatmapDstAddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDstintfs: firewall.CentralsnatmapDstintfArray{\n\t\t\t\t&firewall.CentralsnatmapDstintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNat:     pulumi.String(\"enable\"),\n\t\t\tNatPort: pulumi.String(\"0\"),\n\t\t\tOrigAddrs: firewall.CentralsnatmapOrigAddrArray{\n\t\t\t\t&firewall.CentralsnatmapOrigAddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOrigPort: pulumi.String(\"0\"),\n\t\t\tPolicyid: pulumi.Int(1),\n\t\t\tProtocol: pulumi.Int(33),\n\t\t\tSrcintfs: firewall.CentralsnatmapSrcintfArray{\n\t\t\t\t&firewall.CentralsnatmapSrcintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Centralsnatmap;\nimport com.pulumi.fortios.firewall.CentralsnatmapArgs;\nimport com.pulumi.fortios.firewall.inputs.CentralsnatmapDstAddrArgs;\nimport com.pulumi.fortios.firewall.inputs.CentralsnatmapDstintfArgs;\nimport com.pulumi.fortios.firewall.inputs.CentralsnatmapOrigAddrArgs;\nimport com.pulumi.fortios.firewall.inputs.CentralsnatmapSrcintfArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Centralsnatmap(\"trname\", CentralsnatmapArgs.builder()\n            .dstAddrs(CentralsnatmapDstAddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .dstintfs(CentralsnatmapDstintfArgs.builder()\n                .name(\"port3\")\n                .build())\n            .nat(\"enable\")\n            .natPort(\"0\")\n            .origAddrs(CentralsnatmapOrigAddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .origPort(\"0\")\n            .policyid(1)\n            .protocol(33)\n            .srcintfs(CentralsnatmapSrcintfArgs.builder()\n                .name(\"port1\")\n                .build())\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Centralsnatmap\n    properties:\n      dstAddrs:\n        - name: all\n      dstintfs:\n        - name: port3\n      nat: enable\n      natPort: '0'\n      origAddrs:\n        - name: all\n      origPort: '0'\n      policyid: 1\n      protocol: 33\n      srcintfs:\n        - name: port1\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall CentralSnatMap can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/centralsnatmap:Centralsnatmap labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/centralsnatmap:Centralsnatmap labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstAddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapDstAddr6:CentralsnatmapDstAddr6"
          },
          "description": "IPv6 Destination address. The structure of `dst_addr6` block is documented below.\n"
        },
        "dstAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapDstAddr:CentralsnatmapDstAddr"
          },
          "description": "Destination address name from available addresses. The structure of `dst_addr` block is documented below.\n"
        },
        "dstPort": {
          "type": "string",
          "description": "Destination port or port range (1 to 65535, 0 means any port).\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapDstintf:CentralsnatmapDstintf"
          },
          "description": "Destination interface name from available interfaces. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable source NAT. Valid values: `disable`, `enable`.\n"
        },
        "nat46": {
          "type": "string",
          "description": "Enable/disable NAT46. Valid values: `enable`, `disable`.\n"
        },
        "nat64": {
          "type": "string",
          "description": "Enable/disable NAT64. Valid values: `enable`, `disable`.\n"
        },
        "natIppool6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapNatIppool6:CentralsnatmapNatIppool6"
          },
          "description": "IPv6 pools to be used for source NAT. The structure of `nat_ippool6` block is documented below.\n"
        },
        "natIppools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapNatIppool:CentralsnatmapNatIppool"
          },
          "description": "Name of the IP pools to be used to translate addresses from available IP Pools. The structure of `nat_ippool` block is documented below.\n"
        },
        "natPort": {
          "type": "string",
          "description": "Translated port or port range (0 to 65535, 0 means any port).\n"
        },
        "origAddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapOrigAddr6:CentralsnatmapOrigAddr6"
          },
          "description": "IPv6 Original address. The structure of `orig_addr6` block is documented below.\n"
        },
        "origAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapOrigAddr:CentralsnatmapOrigAddr"
          },
          "description": "Original address. The structure of `orig_addr` block is documented below.\n"
        },
        "origPort": {
          "type": "string",
          "description": "Original TCP port (1 to 65535, 0 means any port).\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "portPreserve": {
          "type": "string",
          "description": "Enable/disable preservation of the original source port from source NAT if it has not been used. Valid values: `enable`, `disable`.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type (0 - 255).\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapSrcintf:CentralsnatmapSrcintf"
          },
          "description": "Source interface name from available interfaces. The structure of `srcintf` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of this policy. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "IPv4/IPv6 source NAT. Valid values: `ipv4`, `ipv6`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dstAddrs",
        "dstPort",
        "dstintfs",
        "nat",
        "nat46",
        "nat64",
        "natPort",
        "origAddrs",
        "origPort",
        "policyid",
        "portPreserve",
        "protocol",
        "srcintfs",
        "status",
        "type",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstAddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapDstAddr6:CentralsnatmapDstAddr6"
          },
          "description": "IPv6 Destination address. The structure of `dst_addr6` block is documented below.\n"
        },
        "dstAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapDstAddr:CentralsnatmapDstAddr"
          },
          "description": "Destination address name from available addresses. The structure of `dst_addr` block is documented below.\n"
        },
        "dstPort": {
          "type": "string",
          "description": "Destination port or port range (1 to 65535, 0 means any port).\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapDstintf:CentralsnatmapDstintf"
          },
          "description": "Destination interface name from available interfaces. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable source NAT. Valid values: `disable`, `enable`.\n"
        },
        "nat46": {
          "type": "string",
          "description": "Enable/disable NAT46. Valid values: `enable`, `disable`.\n"
        },
        "nat64": {
          "type": "string",
          "description": "Enable/disable NAT64. Valid values: `enable`, `disable`.\n"
        },
        "natIppool6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapNatIppool6:CentralsnatmapNatIppool6"
          },
          "description": "IPv6 pools to be used for source NAT. The structure of `nat_ippool6` block is documented below.\n"
        },
        "natIppools": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapNatIppool:CentralsnatmapNatIppool"
          },
          "description": "Name of the IP pools to be used to translate addresses from available IP Pools. The structure of `nat_ippool` block is documented below.\n"
        },
        "natPort": {
          "type": "string",
          "description": "Translated port or port range (0 to 65535, 0 means any port).\n"
        },
        "origAddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapOrigAddr6:CentralsnatmapOrigAddr6"
          },
          "description": "IPv6 Original address. The structure of `orig_addr6` block is documented below.\n"
        },
        "origAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapOrigAddr:CentralsnatmapOrigAddr"
          },
          "description": "Original address. The structure of `orig_addr` block is documented below.\n"
        },
        "origPort": {
          "type": "string",
          "description": "Original TCP port (1 to 65535, 0 means any port).\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "portPreserve": {
          "type": "string",
          "description": "Enable/disable preservation of the original source port from source NAT if it has not been used. Valid values: `enable`, `disable`.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type (0 - 255).\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapSrcintf:CentralsnatmapSrcintf"
          },
          "description": "Source interface name from available interfaces. The structure of `srcintf` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of this policy. Valid values: `enable`, `disable`.\n"
        },
        "type": {
          "type": "string",
          "description": "IPv4/IPv6 source NAT. Valid values: `ipv4`, `ipv6`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "dstAddrs",
        "dstintfs",
        "nat",
        "origAddrs",
        "origPort",
        "protocol",
        "srcintfs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Centralsnatmap resources.\n",
        "properties": {
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dstAddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FCentralsnatmapDstAddr6:CentralsnatmapDstAddr6"
            },
            "description": "IPv6 Destination address. The structure of `dst_addr6` block is documented below.\n"
          },
          "dstAddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FCentralsnatmapDstAddr:CentralsnatmapDstAddr"
            },
            "description": "Destination address name from available addresses. The structure of `dst_addr` block is documented below.\n"
          },
          "dstPort": {
            "type": "string",
            "description": "Destination port or port range (1 to 65535, 0 means any port).\n"
          },
          "dstintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FCentralsnatmapDstintf:CentralsnatmapDstintf"
            },
            "description": "Destination interface name from available interfaces. The structure of `dstintf` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "nat": {
            "type": "string",
            "description": "Enable/disable source NAT. Valid values: `disable`, `enable`.\n"
          },
          "nat46": {
            "type": "string",
            "description": "Enable/disable NAT46. Valid values: `enable`, `disable`.\n"
          },
          "nat64": {
            "type": "string",
            "description": "Enable/disable NAT64. Valid values: `enable`, `disable`.\n"
          },
          "natIppool6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FCentralsnatmapNatIppool6:CentralsnatmapNatIppool6"
            },
            "description": "IPv6 pools to be used for source NAT. The structure of `nat_ippool6` block is documented below.\n"
          },
          "natIppools": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FCentralsnatmapNatIppool:CentralsnatmapNatIppool"
            },
            "description": "Name of the IP pools to be used to translate addresses from available IP Pools. The structure of `nat_ippool` block is documented below.\n"
          },
          "natPort": {
            "type": "string",
            "description": "Translated port or port range (0 to 65535, 0 means any port).\n"
          },
          "origAddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FCentralsnatmapOrigAddr6:CentralsnatmapOrigAddr6"
            },
            "description": "IPv6 Original address. The structure of `orig_addr6` block is documented below.\n"
          },
          "origAddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FCentralsnatmapOrigAddr:CentralsnatmapOrigAddr"
            },
            "description": "Original address. The structure of `orig_addr` block is documented below.\n"
          },
          "origPort": {
            "type": "string",
            "description": "Original TCP port (1 to 65535, 0 means any port).\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "portPreserve": {
            "type": "string",
            "description": "Enable/disable preservation of the original source port from source NAT if it has not been used. Valid values: `enable`, `disable`.\n"
          },
          "protocol": {
            "type": "integer",
            "description": "Integer value for the protocol type (0 - 255).\n"
          },
          "srcintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FCentralsnatmapSrcintf:CentralsnatmapSrcintf"
            },
            "description": "Source interface name from available interfaces. The structure of `srcintf` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable the active status of this policy. Valid values: `enable`, `disable`.\n"
          },
          "type": {
            "type": "string",
            "description": "IPv4/IPv6 source NAT. Valid values: `ipv4`, `ipv6`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/centralsnatmapMove:CentralsnatmapMove": {
      "properties": {
        "comment": {
          "type": "string"
        },
        "move": {
          "type": "string"
        },
        "policyidDst": {
          "type": "integer"
        },
        "policyidSrc": {
          "type": "integer"
        },
        "statePolicySrcdstPos": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "move",
        "policyidDst",
        "policyidSrc"
      ],
      "inputProperties": {
        "comment": {
          "type": "string"
        },
        "move": {
          "type": "string"
        },
        "policyidDst": {
          "type": "integer"
        },
        "policyidSrc": {
          "type": "integer"
        },
        "statePolicySrcdstPos": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "move",
        "policyidDst",
        "policyidSrc"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering CentralsnatmapMove resources.\n",
        "properties": {
          "comment": {
            "type": "string"
          },
          "move": {
            "type": "string"
          },
          "policyidDst": {
            "type": "integer"
          },
          "policyidSrc": {
            "type": "integer"
          },
          "statePolicySrcdstPos": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/centralsnatmapSort:CentralsnatmapSort": {
      "properties": {
        "comment": {
          "type": "string"
        },
        "forceRecreate": {
          "type": "string"
        },
        "manualOrders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sortby": {
          "type": "string"
        },
        "sortdirection": {
          "type": "string"
        },
        "statePolicyLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCentralsnatmapSortStatePolicyList:CentralsnatmapSortStatePolicyList"
          }
        },
        "status": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "forceRecreate",
        "manualOrders",
        "sortby",
        "sortdirection",
        "statePolicyLists",
        "status"
      ],
      "inputProperties": {
        "comment": {
          "type": "string"
        },
        "forceRecreate": {
          "type": "string"
        },
        "manualOrders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sortby": {
          "type": "string"
        },
        "sortdirection": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "sortby",
        "sortdirection"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering CentralsnatmapSort resources.\n",
        "properties": {
          "comment": {
            "type": "string"
          },
          "forceRecreate": {
            "type": "string"
          },
          "manualOrders": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sortby": {
            "type": "string"
          },
          "sortdirection": {
            "type": "string"
          },
          "statePolicyLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FCentralsnatmapSortStatePolicyList:CentralsnatmapSortStatePolicyList"
            }
          },
          "status": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/city:City": {
      "description": "Define city table. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nFirewall City can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/city:City labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/city:City labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "City ID.\n"
        },
        "name": {
          "type": "string",
          "description": "City name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "City ID.\n"
        },
        "name": {
          "type": "string",
          "description": "City name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering City resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "City ID.\n"
          },
          "name": {
            "type": "string",
            "description": "City name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/consolidated/policy:Policy": {
      "description": "Configure consolidated IPv4/IPv6 policies. Applies to FortiOS Version `<= 6.4.0`.\n\n## Import\n\nFirewallConsolidated Policy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/consolidated/policy:Policy labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/consolidated/policy:Policy labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Policy action (allow/deny/ipsec). Valid values: `accept`, `deny`, `ipsec`.\n"
        },
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyAppCategory:PolicyAppCategory"
          },
          "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
        },
        "appGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyAppGroup:PolicyAppGroup"
          },
          "description": "Application group names. The structure of `app_group` block is documented below.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyApplication:PolicyApplication"
          },
          "description": "Application ID list. The structure of `application` block is documented below.\n"
        },
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable policy traffic ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "captivePortalExempt": {
          "type": "string",
          "description": "Enable exemption of some users from the captive portal. Valid values: `enable`, `disable`.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "diffservForward": {
          "type": "string",
          "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
        },
        "diffservReverse": {
          "type": "string",
          "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value.  Valid values: `enable`, `disable`.\n"
        },
        "diffservcodeForward": {
          "type": "string",
          "description": "Change packet's DiffServ to this value.\n"
        },
        "diffservcodeRev": {
          "type": "string",
          "description": "Change packet's reverse (reply) DiffServ to this value.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dnsfilterProfile": {
          "type": "string",
          "description": "Name of an existing DNS filter profile.\n"
        },
        "dstaddr4s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyDstaddr4:PolicyDstaddr4"
          },
          "description": "Destination IPv4 address name and address group names. The structure of `dstaddr4` block is documented below.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyDstaddr6:PolicyDstaddr6"
          },
          "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyDstintf:PolicyDstintf"
          },
          "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable to prevent source NAT from changing a session's source port. Valid values: `enable`, `disable`.\n"
        },
        "fssoGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyFssoGroup:PolicyFssoGroup"
          },
          "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyGroup:PolicyGroup"
          },
          "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
        },
        "httpPolicyRedirect": {
          "type": "string",
          "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "inbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Policy inspection mode (Flow/proxy). Default is Flow mode. Valid values: `proxy`, `flow`.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceCustomGroup:PolicyInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceCustom:PolicyInternetServiceCustom"
          },
          "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceGroup:PolicyInternetServiceGroup"
          },
          "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceId:PolicyInternetServiceId"
          },
          "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceName:PolicyInternetServiceName"
          },
          "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
        },
        "internetServiceNegate": {
          "type": "string",
          "description": "When enabled internet-service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcCustomGroup:PolicyInternetServiceSrcCustomGroup"
          },
          "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
        },
        "internetServiceSrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcCustom:PolicyInternetServiceSrcCustom"
          },
          "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
        },
        "internetServiceSrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcGroup:PolicyInternetServiceSrcGroup"
          },
          "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
        },
        "internetServiceSrcIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcId:PolicyInternetServiceSrcId"
          },
          "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcName:PolicyInternetServiceSrcName"
          },
          "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
        },
        "internetServiceSrcNegate": {
          "type": "string",
          "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable to use IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable source NAT. Valid values: `enable`, `disable`.\n"
        },
        "outbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "poolname4s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyPoolname4:PolicyPoolname4"
          },
          "description": "IPv4 pool names. The structure of `poolname4` block is documented below.\n"
        },
        "poolname6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyPoolname6:PolicyPoolname6"
          },
          "description": "IPv6 pool names. The structure of `poolname6` block is documented below.\n"
        },
        "profileGroup": {
          "type": "string",
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyService:PolicyService"
          },
          "description": "Service and service group names. The structure of `service` block is documented below.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing Spam filter profile.\n"
        },
        "srcaddr4s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicySrcaddr4:PolicySrcaddr4"
          },
          "description": "Source IPv4 address name and address group names. The structure of `srcaddr4` block is documented below.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicySrcaddr6:PolicySrcaddr6"
          },
          "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicySrcintf:PolicySrcintf"
          },
          "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sshPolicyRedirect": {
          "type": "string",
          "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "tcpMssReceiver": {
          "type": "integer",
          "description": "Receiver TCP maximum segment size (MSS).\n"
        },
        "tcpMssSender": {
          "type": "integer",
          "description": "Sender TCP maximum segment size (MSS).\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "urlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyUrlCategory:PolicyUrlCategory"
          },
          "description": "URL category ID list. The structure of `url_category` block is documented below.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyUser:PolicyUser"
          },
          "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP profile.\n"
        },
        "vpntunnel": {
          "type": "string",
          "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n"
        },
        "wafProfile": {
          "type": "string",
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "wanopt": {
          "type": "string",
          "description": "Enable/disable WAN optimization. Valid values: `enable`, `disable`.\n"
        },
        "wanoptDetection": {
          "type": "string",
          "description": "WAN optimization auto-detection mode. Valid values: `active`, `passive`, `off`.\n"
        },
        "wanoptPassiveOpt": {
          "type": "string",
          "description": "WAN optimization passive mode options. This option decides what IP address will be used to connect to server. Valid values: `default`, `transparent`, `non-transparent`.\n"
        },
        "wanoptPeer": {
          "type": "string",
          "description": "WAN optimization peer.\n"
        },
        "wanoptProfile": {
          "type": "string",
          "description": "WAN optimization profile.\n"
        },
        "webcache": {
          "type": "string",
          "description": "Enable/disable web cache. Valid values: `enable`, `disable`.\n"
        },
        "webcacheHttps": {
          "type": "string",
          "description": "Enable/disable web cache for HTTPS. Valid values: `disable`, `enable`.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        },
        "webproxyForwardServer": {
          "type": "string",
          "description": "Webproxy forward server name.\n"
        },
        "webproxyProfile": {
          "type": "string",
          "description": "Webproxy profile name.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "applicationList",
        "autoAsicOffload",
        "avProfile",
        "captivePortalExempt",
        "cifsProfile",
        "diffservForward",
        "diffservReverse",
        "diffservcodeForward",
        "diffservcodeRev",
        "dlpSensor",
        "dnsfilterProfile",
        "dstaddrNegate",
        "emailfilterProfile",
        "fixedport",
        "httpPolicyRedirect",
        "icapProfile",
        "inbound",
        "inspectionMode",
        "internetService",
        "internetServiceNegate",
        "internetServiceSrc",
        "internetServiceSrcNegate",
        "ippool",
        "ipsSensor",
        "logtraffic",
        "logtrafficStart",
        "name",
        "nat",
        "outbound",
        "perIpShaper",
        "policyid",
        "profileGroup",
        "profileProtocolOptions",
        "profileType",
        "schedule",
        "serviceNegate",
        "sessionTtl",
        "spamfilterProfile",
        "srcaddrNegate",
        "sshFilterProfile",
        "sshPolicyRedirect",
        "sslSshProfile",
        "status",
        "tcpMssReceiver",
        "tcpMssSender",
        "trafficShaper",
        "trafficShaperReverse",
        "utmStatus",
        "uuid",
        "vdomparam",
        "voipProfile",
        "vpntunnel",
        "wafProfile",
        "wanopt",
        "wanoptDetection",
        "wanoptPassiveOpt",
        "wanoptPeer",
        "wanoptProfile",
        "webcache",
        "webcacheHttps",
        "webfilterProfile",
        "webproxyForwardServer",
        "webproxyProfile"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Policy action (allow/deny/ipsec). Valid values: `accept`, `deny`, `ipsec`.\n"
        },
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyAppCategory:PolicyAppCategory"
          },
          "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
        },
        "appGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyAppGroup:PolicyAppGroup"
          },
          "description": "Application group names. The structure of `app_group` block is documented below.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyApplication:PolicyApplication"
          },
          "description": "Application ID list. The structure of `application` block is documented below.\n"
        },
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable policy traffic ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "captivePortalExempt": {
          "type": "string",
          "description": "Enable exemption of some users from the captive portal. Valid values: `enable`, `disable`.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "diffservForward": {
          "type": "string",
          "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
        },
        "diffservReverse": {
          "type": "string",
          "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value.  Valid values: `enable`, `disable`.\n"
        },
        "diffservcodeForward": {
          "type": "string",
          "description": "Change packet's DiffServ to this value.\n"
        },
        "diffservcodeRev": {
          "type": "string",
          "description": "Change packet's reverse (reply) DiffServ to this value.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dnsfilterProfile": {
          "type": "string",
          "description": "Name of an existing DNS filter profile.\n"
        },
        "dstaddr4s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyDstaddr4:PolicyDstaddr4"
          },
          "description": "Destination IPv4 address name and address group names. The structure of `dstaddr4` block is documented below.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyDstaddr6:PolicyDstaddr6"
          },
          "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyDstintf:PolicyDstintf"
          },
          "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable to prevent source NAT from changing a session's source port. Valid values: `enable`, `disable`.\n"
        },
        "fssoGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyFssoGroup:PolicyFssoGroup"
          },
          "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyGroup:PolicyGroup"
          },
          "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
        },
        "httpPolicyRedirect": {
          "type": "string",
          "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "inbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Policy inspection mode (Flow/proxy). Default is Flow mode. Valid values: `proxy`, `flow`.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceCustomGroup:PolicyInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceCustom:PolicyInternetServiceCustom"
          },
          "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceGroup:PolicyInternetServiceGroup"
          },
          "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceId:PolicyInternetServiceId"
          },
          "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceName:PolicyInternetServiceName"
          },
          "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
        },
        "internetServiceNegate": {
          "type": "string",
          "description": "When enabled internet-service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcCustomGroup:PolicyInternetServiceSrcCustomGroup"
          },
          "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
        },
        "internetServiceSrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcCustom:PolicyInternetServiceSrcCustom"
          },
          "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
        },
        "internetServiceSrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcGroup:PolicyInternetServiceSrcGroup"
          },
          "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
        },
        "internetServiceSrcIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcId:PolicyInternetServiceSrcId"
          },
          "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcName:PolicyInternetServiceSrcName"
          },
          "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
        },
        "internetServiceSrcNegate": {
          "type": "string",
          "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable to use IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable source NAT. Valid values: `enable`, `disable`.\n"
        },
        "outbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "poolname4s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyPoolname4:PolicyPoolname4"
          },
          "description": "IPv4 pool names. The structure of `poolname4` block is documented below.\n"
        },
        "poolname6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyPoolname6:PolicyPoolname6"
          },
          "description": "IPv6 pool names. The structure of `poolname6` block is documented below.\n"
        },
        "profileGroup": {
          "type": "string",
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyService:PolicyService"
          },
          "description": "Service and service group names. The structure of `service` block is documented below.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing Spam filter profile.\n"
        },
        "srcaddr4s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicySrcaddr4:PolicySrcaddr4"
          },
          "description": "Source IPv4 address name and address group names. The structure of `srcaddr4` block is documented below.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicySrcaddr6:PolicySrcaddr6"
          },
          "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicySrcintf:PolicySrcintf"
          },
          "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sshPolicyRedirect": {
          "type": "string",
          "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "tcpMssReceiver": {
          "type": "integer",
          "description": "Receiver TCP maximum segment size (MSS).\n"
        },
        "tcpMssSender": {
          "type": "integer",
          "description": "Sender TCP maximum segment size (MSS).\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "urlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyUrlCategory:PolicyUrlCategory"
          },
          "description": "URL category ID list. The structure of `url_category` block is documented below.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyUser:PolicyUser"
          },
          "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP profile.\n"
        },
        "vpntunnel": {
          "type": "string",
          "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n"
        },
        "wafProfile": {
          "type": "string",
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "wanopt": {
          "type": "string",
          "description": "Enable/disable WAN optimization. Valid values: `enable`, `disable`.\n"
        },
        "wanoptDetection": {
          "type": "string",
          "description": "WAN optimization auto-detection mode. Valid values: `active`, `passive`, `off`.\n"
        },
        "wanoptPassiveOpt": {
          "type": "string",
          "description": "WAN optimization passive mode options. This option decides what IP address will be used to connect to server. Valid values: `default`, `transparent`, `non-transparent`.\n"
        },
        "wanoptPeer": {
          "type": "string",
          "description": "WAN optimization peer.\n"
        },
        "wanoptProfile": {
          "type": "string",
          "description": "WAN optimization profile.\n"
        },
        "webcache": {
          "type": "string",
          "description": "Enable/disable web cache. Valid values: `enable`, `disable`.\n"
        },
        "webcacheHttps": {
          "type": "string",
          "description": "Enable/disable web cache for HTTPS. Valid values: `disable`, `enable`.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        },
        "webproxyForwardServer": {
          "type": "string",
          "description": "Webproxy forward server name.\n"
        },
        "webproxyProfile": {
          "type": "string",
          "description": "Webproxy profile name.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Policy resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Policy action (allow/deny/ipsec). Valid values: `accept`, `deny`, `ipsec`.\n"
          },
          "appCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyAppCategory:PolicyAppCategory"
            },
            "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
          },
          "appGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyAppGroup:PolicyAppGroup"
            },
            "description": "Application group names. The structure of `app_group` block is documented below.\n"
          },
          "applicationList": {
            "type": "string",
            "description": "Name of an existing Application list.\n"
          },
          "applications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyApplication:PolicyApplication"
            },
            "description": "Application ID list. The structure of `application` block is documented below.\n"
          },
          "autoAsicOffload": {
            "type": "string",
            "description": "Enable/disable policy traffic ASIC offloading. Valid values: `enable`, `disable`.\n"
          },
          "avProfile": {
            "type": "string",
            "description": "Name of an existing Antivirus profile.\n"
          },
          "captivePortalExempt": {
            "type": "string",
            "description": "Enable exemption of some users from the captive portal. Valid values: `enable`, `disable`.\n"
          },
          "cifsProfile": {
            "type": "string",
            "description": "Name of an existing CIFS profile.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "diffservForward": {
            "type": "string",
            "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
          },
          "diffservReverse": {
            "type": "string",
            "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value.  Valid values: `enable`, `disable`.\n"
          },
          "diffservcodeForward": {
            "type": "string",
            "description": "Change packet's DiffServ to this value.\n"
          },
          "diffservcodeRev": {
            "type": "string",
            "description": "Change packet's reverse (reply) DiffServ to this value.\n"
          },
          "dlpSensor": {
            "type": "string",
            "description": "Name of an existing DLP sensor.\n"
          },
          "dnsfilterProfile": {
            "type": "string",
            "description": "Name of an existing DNS filter profile.\n"
          },
          "dstaddr4s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyDstaddr4:PolicyDstaddr4"
            },
            "description": "Destination IPv4 address name and address group names. The structure of `dstaddr4` block is documented below.\n"
          },
          "dstaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyDstaddr6:PolicyDstaddr6"
            },
            "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n"
          },
          "dstaddrNegate": {
            "type": "string",
            "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "dstintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyDstintf:PolicyDstintf"
            },
            "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emailfilterProfile": {
            "type": "string",
            "description": "Name of an existing email filter profile.\n"
          },
          "fixedport": {
            "type": "string",
            "description": "Enable to prevent source NAT from changing a session's source port. Valid values: `enable`, `disable`.\n"
          },
          "fssoGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyFssoGroup:PolicyFssoGroup"
            },
            "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyGroup:PolicyGroup"
            },
            "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
          },
          "httpPolicyRedirect": {
            "type": "string",
            "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy. Valid values: `enable`, `disable`.\n"
          },
          "icapProfile": {
            "type": "string",
            "description": "Name of an existing ICAP profile.\n"
          },
          "inbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Valid values: `enable`, `disable`.\n"
          },
          "inspectionMode": {
            "type": "string",
            "description": "Policy inspection mode (Flow/proxy). Default is Flow mode. Valid values: `proxy`, `flow`.\n"
          },
          "internetService": {
            "type": "string",
            "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.  Valid values: `enable`, `disable`.\n"
          },
          "internetServiceCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceCustomGroup:PolicyInternetServiceCustomGroup"
            },
            "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
          },
          "internetServiceCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceCustom:PolicyInternetServiceCustom"
            },
            "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
          },
          "internetServiceGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceGroup:PolicyInternetServiceGroup"
            },
            "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
          },
          "internetServiceIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceId:PolicyInternetServiceId"
            },
            "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
          },
          "internetServiceNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceName:PolicyInternetServiceName"
            },
            "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
          },
          "internetServiceNegate": {
            "type": "string",
            "description": "When enabled internet-service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "internetServiceSrc": {
            "type": "string",
            "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.  Valid values: `enable`, `disable`.\n"
          },
          "internetServiceSrcCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcCustomGroup:PolicyInternetServiceSrcCustomGroup"
            },
            "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
          },
          "internetServiceSrcCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcCustom:PolicyInternetServiceSrcCustom"
            },
            "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
          },
          "internetServiceSrcGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcGroup:PolicyInternetServiceSrcGroup"
            },
            "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
          },
          "internetServiceSrcIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcId:PolicyInternetServiceSrcId"
            },
            "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
          },
          "internetServiceSrcNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyInternetServiceSrcName:PolicyInternetServiceSrcName"
            },
            "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
          },
          "internetServiceSrcNegate": {
            "type": "string",
            "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "ippool": {
            "type": "string",
            "description": "Enable to use IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "Name of an existing IPS sensor.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
          },
          "logtrafficStart": {
            "type": "string",
            "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "nat": {
            "type": "string",
            "description": "Enable/disable source NAT. Valid values: `enable`, `disable`.\n"
          },
          "outbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN. Valid values: `enable`, `disable`.\n"
          },
          "perIpShaper": {
            "type": "string",
            "description": "Per-IP traffic shaper.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "poolname4s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyPoolname4:PolicyPoolname4"
            },
            "description": "IPv4 pool names. The structure of `poolname4` block is documented below.\n"
          },
          "poolname6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyPoolname6:PolicyPoolname6"
            },
            "description": "IPv6 pool names. The structure of `poolname6` block is documented below.\n"
          },
          "profileGroup": {
            "type": "string",
            "description": "Name of profile group.\n"
          },
          "profileProtocolOptions": {
            "type": "string",
            "description": "Name of an existing Protocol options profile.\n"
          },
          "profileType": {
            "type": "string",
            "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Schedule name.\n"
          },
          "serviceNegate": {
            "type": "string",
            "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyService:PolicyService"
            },
            "description": "Service and service group names. The structure of `service` block is documented below.\n"
          },
          "sessionTtl": {
            "type": "integer",
            "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n"
          },
          "spamfilterProfile": {
            "type": "string",
            "description": "Name of an existing Spam filter profile.\n"
          },
          "srcaddr4s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicySrcaddr4:PolicySrcaddr4"
            },
            "description": "Source IPv4 address name and address group names. The structure of `srcaddr4` block is documented below.\n"
          },
          "srcaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicySrcaddr6:PolicySrcaddr6"
            },
            "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n"
          },
          "srcaddrNegate": {
            "type": "string",
            "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "srcintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicySrcintf:PolicySrcintf"
            },
            "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
          },
          "sshFilterProfile": {
            "type": "string",
            "description": "Name of an existing SSH filter profile.\n"
          },
          "sshPolicyRedirect": {
            "type": "string",
            "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
          },
          "sslSshProfile": {
            "type": "string",
            "description": "Name of an existing SSL SSH profile.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "tcpMssReceiver": {
            "type": "integer",
            "description": "Receiver TCP maximum segment size (MSS).\n"
          },
          "tcpMssSender": {
            "type": "integer",
            "description": "Sender TCP maximum segment size (MSS).\n"
          },
          "trafficShaper": {
            "type": "string",
            "description": "Traffic shaper.\n"
          },
          "trafficShaperReverse": {
            "type": "string",
            "description": "Reverse traffic shaper.\n"
          },
          "urlCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyUrlCategory:PolicyUrlCategory"
            },
            "description": "URL category ID list. The structure of `url_category` block is documented below.\n"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fconsolidated%2FPolicyUser:PolicyUser"
            },
            "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
          },
          "utmStatus": {
            "type": "string",
            "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "voipProfile": {
            "type": "string",
            "description": "Name of an existing VoIP profile.\n"
          },
          "vpntunnel": {
            "type": "string",
            "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n"
          },
          "wafProfile": {
            "type": "string",
            "description": "Name of an existing Web application firewall profile.\n"
          },
          "wanopt": {
            "type": "string",
            "description": "Enable/disable WAN optimization. Valid values: `enable`, `disable`.\n"
          },
          "wanoptDetection": {
            "type": "string",
            "description": "WAN optimization auto-detection mode. Valid values: `active`, `passive`, `off`.\n"
          },
          "wanoptPassiveOpt": {
            "type": "string",
            "description": "WAN optimization passive mode options. This option decides what IP address will be used to connect to server. Valid values: `default`, `transparent`, `non-transparent`.\n"
          },
          "wanoptPeer": {
            "type": "string",
            "description": "WAN optimization peer.\n"
          },
          "wanoptProfile": {
            "type": "string",
            "description": "WAN optimization profile.\n"
          },
          "webcache": {
            "type": "string",
            "description": "Enable/disable web cache. Valid values: `enable`, `disable`.\n"
          },
          "webcacheHttps": {
            "type": "string",
            "description": "Enable/disable web cache for HTTPS. Valid values: `disable`, `enable`.\n"
          },
          "webfilterProfile": {
            "type": "string",
            "description": "Name of an existing Web filter profile.\n"
          },
          "webproxyForwardServer": {
            "type": "string",
            "description": "Webproxy forward server name.\n"
          },
          "webproxyProfile": {
            "type": "string",
            "description": "Webproxy profile name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/country:Country": {
      "description": "Define country table. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nFirewall Country can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/country:Country labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/country:Country labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Country ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Country name.\n"
        },
        "regions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCountryRegion:CountryRegion"
          },
          "description": "Region ID list. The structure of `region` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Country ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Country name.\n"
        },
        "regions": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FCountryRegion:CountryRegion"
          },
          "description": "Region ID list. The structure of `region` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Country resources.\n",
        "properties": {
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Country ID.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Country name.\n"
          },
          "regions": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FCountryRegion:CountryRegion"
            },
            "description": "Region ID list. The structure of `region` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/decryptedtrafficmirror:Decryptedtrafficmirror": {
      "description": "Configure decrypted traffic mirror. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nFirewall DecryptedTrafficMirror can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/decryptedtrafficmirror:Decryptedtrafficmirror labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/decryptedtrafficmirror:Decryptedtrafficmirror labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dstmac": {
          "type": "string",
          "description": "Set destination MAC address for mirrored traffic.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDecryptedtrafficmirrorInterface:DecryptedtrafficmirrorInterface"
          },
          "description": "Decrypted traffic mirror interface The structure of `interface` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "trafficSource": {
          "type": "string",
          "description": "Source of decrypted traffic to be mirrored. Valid values: `client`, `server`, `both`.\n"
        },
        "trafficType": {
          "type": "string",
          "description": "Types of decrypted traffic to be mirrored. Valid values: `ssl`, `ssh`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dstmac",
        "name",
        "trafficSource",
        "trafficType",
        "vdomparam"
      ],
      "inputProperties": {
        "dstmac": {
          "type": "string",
          "description": "Set destination MAC address for mirrored traffic.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interfaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDecryptedtrafficmirrorInterface:DecryptedtrafficmirrorInterface"
          },
          "description": "Decrypted traffic mirror interface The structure of `interface` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "trafficSource": {
          "type": "string",
          "description": "Source of decrypted traffic to be mirrored. Valid values: `client`, `server`, `both`.\n"
        },
        "trafficType": {
          "type": "string",
          "description": "Types of decrypted traffic to be mirrored. Valid values: `ssl`, `ssh`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Decryptedtrafficmirror resources.\n",
        "properties": {
          "dstmac": {
            "type": "string",
            "description": "Set destination MAC address for mirrored traffic.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "interfaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FDecryptedtrafficmirrorInterface:DecryptedtrafficmirrorInterface"
            },
            "description": "Decrypted traffic mirror interface The structure of `interface` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n"
          },
          "trafficSource": {
            "type": "string",
            "description": "Source of decrypted traffic to be mirrored. Valid values: `client`, `server`, `both`.\n"
          },
          "trafficType": {
            "type": "string",
            "description": "Types of decrypted traffic to be mirrored. Valid values: `ssl`, `ssh`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/dnstranslation:Dnstranslation": {
      "description": "Configure DNS translation.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Dnstranslation(\"trname\", {\n    dst: \"2.2.2.2\",\n    fosid: 1,\n    netmask: \"255.0.0.0\",\n    src: \"1.1.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Dnstranslation(\"trname\",\n    dst=\"2.2.2.2\",\n    fosid=1,\n    netmask=\"255.0.0.0\",\n    src=\"1.1.1.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Dnstranslation(\"trname\", new()\n    {\n        Dst = \"2.2.2.2\",\n        Fosid = 1,\n        Netmask = \"255.0.0.0\",\n        Src = \"1.1.1.1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewDnstranslation(ctx, \"trname\", &firewall.DnstranslationArgs{\n\t\t\tDst:     pulumi.String(\"2.2.2.2\"),\n\t\t\tFosid:   pulumi.Int(1),\n\t\t\tNetmask: pulumi.String(\"255.0.0.0\"),\n\t\t\tSrc:     pulumi.String(\"1.1.1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Dnstranslation;\nimport com.pulumi.fortios.firewall.DnstranslationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Dnstranslation(\"trname\", DnstranslationArgs.builder()\n            .dst(\"2.2.2.2\")\n            .fosid(1)\n            .netmask(\"255.0.0.0\")\n            .src(\"1.1.1.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Dnstranslation\n    properties:\n      dst: 2.2.2.2\n      fosid: 1\n      netmask: 255.0.0.0\n      src: 1.1.1.1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Dnstranslation can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/dnstranslation:Dnstranslation labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/dnstranslation:Dnstranslation labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dst": {
          "type": "string",
          "description": "IPv4 address or subnet on the external network to substitute for the resolved address in DNS query replies. Can be single IP address or subnet on the external network, but number of addresses must equal number of mapped IP addresses in src.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "netmask": {
          "type": "string",
          "description": "If src and dst are subnets rather than single IP addresses, enter the netmask for both src and dst.\n"
        },
        "src": {
          "type": "string",
          "description": "IPv4 address or subnet on the internal network to compare with the resolved address in DNS query replies. If the resolved address matches, the resolved address is substituted with dst.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dst",
        "fosid",
        "netmask",
        "src",
        "vdomparam"
      ],
      "inputProperties": {
        "dst": {
          "type": "string",
          "description": "IPv4 address or subnet on the external network to substitute for the resolved address in DNS query replies. Can be single IP address or subnet on the external network, but number of addresses must equal number of mapped IP addresses in src.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "netmask": {
          "type": "string",
          "description": "If src and dst are subnets rather than single IP addresses, enter the netmask for both src and dst.\n"
        },
        "src": {
          "type": "string",
          "description": "IPv4 address or subnet on the internal network to compare with the resolved address in DNS query replies. If the resolved address matches, the resolved address is substituted with dst.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Dnstranslation resources.\n",
        "properties": {
          "dst": {
            "type": "string",
            "description": "IPv4 address or subnet on the external network to substitute for the resolved address in DNS query replies. Can be single IP address or subnet on the external network, but number of addresses must equal number of mapped IP addresses in src.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n"
          },
          "netmask": {
            "type": "string",
            "description": "If src and dst are subnets rather than single IP addresses, enter the netmask for both src and dst.\n"
          },
          "src": {
            "type": "string",
            "description": "IPv4 address or subnet on the internal network to compare with the resolved address in DNS query replies. If the resolved address matches, the resolved address is substituted with dst.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/doSpolicy6:DoSpolicy6": {
      "description": "Configure IPv6 DoS policies.\n\n## Import\n\nFirewall DosPolicy6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/doSpolicy6:DoSpolicy6 labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/doSpolicy6:DoSpolicy6 labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomalies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicy6Anomaly:DoSpolicy6Anomaly"
          },
          "description": "Anomaly name. The structure of `anomaly` block is documented below.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicy6Dstaddr:DoSpolicy6Dstaddr"
          },
          "description": "Destination address name from available addresses. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interface": {
          "type": "string",
          "description": "Incoming interface name from available interfaces.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicy6Service:DoSpolicy6Service"
          },
          "description": "Service object from available options. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicy6Srcaddr:DoSpolicy6Srcaddr"
          },
          "description": "Source address name from available addresses. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dstaddrs",
        "interface",
        "name",
        "policyid",
        "srcaddrs",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "anomalies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicy6Anomaly:DoSpolicy6Anomaly"
          },
          "description": "Anomaly name. The structure of `anomaly` block is documented below.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicy6Dstaddr:DoSpolicy6Dstaddr"
          },
          "description": "Destination address name from available addresses. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interface": {
          "type": "string",
          "description": "Incoming interface name from available interfaces.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicy6Service:DoSpolicy6Service"
          },
          "description": "Service object from available options. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicy6Srcaddr:DoSpolicy6Srcaddr"
          },
          "description": "Source address name from available addresses. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "interface",
        "srcaddrs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DoSpolicy6 resources.\n",
        "properties": {
          "anomalies": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FDoSpolicy6Anomaly:DoSpolicy6Anomaly"
            },
            "description": "Anomaly name. The structure of `anomaly` block is documented below.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FDoSpolicy6Dstaddr:DoSpolicy6Dstaddr"
            },
            "description": "Destination address name from available addresses. The structure of `dstaddr` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "interface": {
            "type": "string",
            "description": "Incoming interface name from available interfaces.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FDoSpolicy6Service:DoSpolicy6Service"
            },
            "description": "Service object from available options. The structure of `service` block is documented below.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FDoSpolicy6Srcaddr:DoSpolicy6Srcaddr"
            },
            "description": "Source address name from available addresses. The structure of `srcaddr` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/doSpolicy:DoSpolicy": {
      "description": "Configure IPv4 DoS policies.\n\n## Import\n\nFirewall DosPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/doSpolicy:DoSpolicy labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/doSpolicy:DoSpolicy labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomalies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicyAnomaly:DoSpolicyAnomaly"
          },
          "description": "Anomaly name. The structure of `anomaly` block is documented below.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicyDstaddr:DoSpolicyDstaddr"
          },
          "description": "Destination address name from available addresses. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interface": {
          "type": "string",
          "description": "Incoming interface name from available interfaces.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicyService:DoSpolicyService"
          },
          "description": "Service object from available options. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicySrcaddr:DoSpolicySrcaddr"
          },
          "description": "Source address name from available addresses. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dstaddrs",
        "interface",
        "name",
        "policyid",
        "srcaddrs",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "anomalies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicyAnomaly:DoSpolicyAnomaly"
          },
          "description": "Anomaly name. The structure of `anomaly` block is documented below.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicyDstaddr:DoSpolicyDstaddr"
          },
          "description": "Destination address name from available addresses. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interface": {
          "type": "string",
          "description": "Incoming interface name from available interfaces.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicyService:DoSpolicyService"
          },
          "description": "Service object from available options. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FDoSpolicySrcaddr:DoSpolicySrcaddr"
          },
          "description": "Source address name from available addresses. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "interface",
        "srcaddrs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DoSpolicy resources.\n",
        "properties": {
          "anomalies": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FDoSpolicyAnomaly:DoSpolicyAnomaly"
            },
            "description": "Anomaly name. The structure of `anomaly` block is documented below.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FDoSpolicyDstaddr:DoSpolicyDstaddr"
            },
            "description": "Destination address name from available addresses. The structure of `dstaddr` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "interface": {
            "type": "string",
            "description": "Incoming interface name from available interfaces.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FDoSpolicyService:DoSpolicyService"
            },
            "description": "Service object from available options. The structure of `service` block is documented below.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FDoSpolicySrcaddr:DoSpolicySrcaddr"
            },
            "description": "Source address name from available addresses. The structure of `srcaddr` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/global:Global": {
      "description": "Global firewall settings. Applies to FortiOS Version `>= 7.2.1`.\n\n## Import\n\nFirewall Global can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/global:Global labelname FirewallGlobal\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/global:Global labelname FirewallGlobal\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bannedIpPersistency": {
          "type": "string",
          "description": "Persistency of banned IPs across power cycling. Valid values: `disabled`, `permanent-only`, `all`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "bannedIpPersistency",
        "vdomparam"
      ],
      "inputProperties": {
        "bannedIpPersistency": {
          "type": "string",
          "description": "Persistency of banned IPs across power cycling. Valid values: `disabled`, `permanent-only`, `all`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Global resources.\n",
        "properties": {
          "bannedIpPersistency": {
            "type": "string",
            "description": "Persistency of banned IPs across power cycling. Valid values: `disabled`, `permanent-only`, `all`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/identitybasedroute:Identitybasedroute": {
      "description": "Configure identity based routing.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Identitybasedroute(\"trname\", {comments: \"test\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Identitybasedroute(\"trname\", comments=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Identitybasedroute(\"trname\", new()\n    {\n        Comments = \"test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewIdentitybasedroute(ctx, \"trname\", &firewall.IdentitybasedrouteArgs{\n\t\t\tComments: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Identitybasedroute;\nimport com.pulumi.fortios.firewall.IdentitybasedrouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Identitybasedroute(\"trname\", IdentitybasedrouteArgs.builder()\n            .comments(\"test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Identitybasedroute\n    properties:\n      comments: test\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall IdentityBasedRoute can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/identitybasedroute:Identitybasedroute labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/identitybasedroute:Identitybasedroute labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comments": {
          "type": "string",
          "description": "Comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FIdentitybasedrouteRule:IdentitybasedrouteRule"
          },
          "description": "Rule. The structure of `rule` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "comments",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comments": {
          "type": "string",
          "description": "Comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FIdentitybasedrouteRule:IdentitybasedrouteRule"
          },
          "description": "Rule. The structure of `rule` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Identitybasedroute resources.\n",
        "properties": {
          "comments": {
            "type": "string",
            "description": "Comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FIdentitybasedrouteRule:IdentitybasedrouteRule"
            },
            "description": "Rule. The structure of `rule` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/interfacepolicy6:Interfacepolicy6": {
      "description": "Configure IPv6 interface policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Interfacepolicy6(\"trname\", {\n    addressType: \"ipv6\",\n    applicationListStatus: \"disable\",\n    avProfileStatus: \"disable\",\n    dlpSensorStatus: \"disable\",\n    dsri: \"disable\",\n    dstaddr6s: [{\n        name: \"all\",\n    }],\n    \"interface\": \"port4\",\n    ipsSensorStatus: \"disable\",\n    logtraffic: \"all\",\n    policyid: 1,\n    scanBotnetConnections: \"block\",\n    service6s: [{\n        name: \"ALL\",\n    }],\n    spamfilterProfileStatus: \"disable\",\n    srcaddr6s: [{\n        name: \"all\",\n    }],\n    status: \"enable\",\n    webfilterProfileStatus: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Interfacepolicy6(\"trname\",\n    address_type=\"ipv6\",\n    application_list_status=\"disable\",\n    av_profile_status=\"disable\",\n    dlp_sensor_status=\"disable\",\n    dsri=\"disable\",\n    dstaddr6s=[fortios.firewall.Interfacepolicy6Dstaddr6Args(\n        name=\"all\",\n    )],\n    interface=\"port4\",\n    ips_sensor_status=\"disable\",\n    logtraffic=\"all\",\n    policyid=1,\n    scan_botnet_connections=\"block\",\n    service6s=[fortios.firewall.Interfacepolicy6Service6Args(\n        name=\"ALL\",\n    )],\n    spamfilter_profile_status=\"disable\",\n    srcaddr6s=[fortios.firewall.Interfacepolicy6Srcaddr6Args(\n        name=\"all\",\n    )],\n    status=\"enable\",\n    webfilter_profile_status=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Interfacepolicy6(\"trname\", new()\n    {\n        AddressType = \"ipv6\",\n        ApplicationListStatus = \"disable\",\n        AvProfileStatus = \"disable\",\n        DlpSensorStatus = \"disable\",\n        Dsri = \"disable\",\n        Dstaddr6s = new[]\n        {\n            new Fortios.Firewall.Inputs.Interfacepolicy6Dstaddr6Args\n            {\n                Name = \"all\",\n            },\n        },\n        Interface = \"port4\",\n        IpsSensorStatus = \"disable\",\n        Logtraffic = \"all\",\n        Policyid = 1,\n        ScanBotnetConnections = \"block\",\n        Service6s = new[]\n        {\n            new Fortios.Firewall.Inputs.Interfacepolicy6Service6Args\n            {\n                Name = \"ALL\",\n            },\n        },\n        SpamfilterProfileStatus = \"disable\",\n        Srcaddr6s = new[]\n        {\n            new Fortios.Firewall.Inputs.Interfacepolicy6Srcaddr6Args\n            {\n                Name = \"all\",\n            },\n        },\n        Status = \"enable\",\n        WebfilterProfileStatus = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewInterfacepolicy6(ctx, \"trname\", &firewall.Interfacepolicy6Args{\n\t\t\tAddressType:           pulumi.String(\"ipv6\"),\n\t\t\tApplicationListStatus: pulumi.String(\"disable\"),\n\t\t\tAvProfileStatus:       pulumi.String(\"disable\"),\n\t\t\tDlpSensorStatus:       pulumi.String(\"disable\"),\n\t\t\tDsri:                  pulumi.String(\"disable\"),\n\t\t\tDstaddr6s: firewall.Interfacepolicy6Dstaddr6Array{\n\t\t\t\t&firewall.Interfacepolicy6Dstaddr6Args{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInterface:             pulumi.String(\"port4\"),\n\t\t\tIpsSensorStatus:       pulumi.String(\"disable\"),\n\t\t\tLogtraffic:            pulumi.String(\"all\"),\n\t\t\tPolicyid:              pulumi.Int(1),\n\t\t\tScanBotnetConnections: pulumi.String(\"block\"),\n\t\t\tService6s: firewall.Interfacepolicy6Service6Array{\n\t\t\t\t&firewall.Interfacepolicy6Service6Args{\n\t\t\t\t\tName: pulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSpamfilterProfileStatus: pulumi.String(\"disable\"),\n\t\t\tSrcaddr6s: firewall.Interfacepolicy6Srcaddr6Array{\n\t\t\t\t&firewall.Interfacepolicy6Srcaddr6Args{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus:                 pulumi.String(\"enable\"),\n\t\t\tWebfilterProfileStatus: pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Interfacepolicy6;\nimport com.pulumi.fortios.firewall.Interfacepolicy6Args;\nimport com.pulumi.fortios.firewall.inputs.Interfacepolicy6Dstaddr6Args;\nimport com.pulumi.fortios.firewall.inputs.Interfacepolicy6Service6Args;\nimport com.pulumi.fortios.firewall.inputs.Interfacepolicy6Srcaddr6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Interfacepolicy6(\"trname\", Interfacepolicy6Args.builder()\n            .addressType(\"ipv6\")\n            .applicationListStatus(\"disable\")\n            .avProfileStatus(\"disable\")\n            .dlpSensorStatus(\"disable\")\n            .dsri(\"disable\")\n            .dstaddr6s(Interfacepolicy6Dstaddr6Args.builder()\n                .name(\"all\")\n                .build())\n            .interface_(\"port4\")\n            .ipsSensorStatus(\"disable\")\n            .logtraffic(\"all\")\n            .policyid(1)\n            .scanBotnetConnections(\"block\")\n            .service6s(Interfacepolicy6Service6Args.builder()\n                .name(\"ALL\")\n                .build())\n            .spamfilterProfileStatus(\"disable\")\n            .srcaddr6s(Interfacepolicy6Srcaddr6Args.builder()\n                .name(\"all\")\n                .build())\n            .status(\"enable\")\n            .webfilterProfileStatus(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Interfacepolicy6\n    properties:\n      addressType: ipv6\n      applicationListStatus: disable\n      avProfileStatus: disable\n      dlpSensorStatus: disable\n      dsri: disable\n      dstaddr6s:\n        - name: all\n      interface: port4\n      ipsSensorStatus: disable\n      logtraffic: all\n      policyid: 1\n      scanBotnetConnections: block\n      service6s:\n        - name: ALL\n      spamfilterProfileStatus: disable\n      srcaddr6s:\n        - name: all\n      status: enable\n      webfilterProfileStatus: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall InterfacePolicy6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/interfacepolicy6:Interfacepolicy6 labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/interfacepolicy6:Interfacepolicy6 labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addressType": {
          "type": "string",
          "description": "Policy address type (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Application list name.\n"
        },
        "applicationListStatus": {
          "type": "string",
          "description": "Enable/disable application control. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Antivirus profile.\n"
        },
        "avProfileStatus": {
          "type": "string",
          "description": "Enable/disable antivirus. Valid values: `enable`, `disable`.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "CASB profile.\n"
        },
        "casbProfileStatus": {
          "type": "string",
          "description": "Enable/disable CASB. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comments.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "DLP profile name.\n"
        },
        "dlpProfileStatus": {
          "type": "string",
          "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "DLP sensor name.\n"
        },
        "dlpSensorStatus": {
          "type": "string",
          "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
        },
        "dsri": {
          "type": "string",
          "description": "Enable/disable DSRI. Valid values: `enable`, `disable`.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicy6Dstaddr6:Interfacepolicy6Dstaddr6"
          },
          "description": "IPv6 address object to limit traffic monitoring to network traffic sent to the specified address or range. The structure of `dstaddr6` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Email filter profile.\n"
        },
        "emailfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable email filter. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interface": {
          "type": "string",
          "description": "Monitored interface name from available interfaces.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "IPS sensor name.\n"
        },
        "ipsSensorStatus": {
          "type": "string",
          "description": "Enable/disable IPS. Valid values: `enable`, `disable`.\n"
        },
        "label": {
          "type": "string",
          "description": "Label.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Logging type to be used in this policy (Options: all | utm | disable, Default: utm). Valid values: `all`, `utm`, `disable`.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Enable/disable scanning for connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "service6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicy6Service6:Interfacepolicy6Service6"
          },
          "description": "Service name. The structure of `service6` block is documented below.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Antispam profile.\n"
        },
        "spamfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable antispam. Valid values: `enable`, `disable`.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicy6Srcaddr6:Interfacepolicy6Srcaddr6"
          },
          "description": "IPv6 address object to limit traffic monitoring to network traffic sent from the specified address or range. The structure of `srcaddr6` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n\nThe `srcaddr6` block supports:\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Web filter profile.\n"
        },
        "webfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable web filtering. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "addressType",
        "applicationList",
        "applicationListStatus",
        "avProfile",
        "avProfileStatus",
        "casbProfile",
        "casbProfileStatus",
        "dlpProfile",
        "dlpProfileStatus",
        "dlpSensor",
        "dlpSensorStatus",
        "dsri",
        "dstaddr6s",
        "emailfilterProfile",
        "emailfilterProfileStatus",
        "interface",
        "ipsSensor",
        "ipsSensorStatus",
        "label",
        "logtraffic",
        "policyid",
        "scanBotnetConnections",
        "spamfilterProfile",
        "spamfilterProfileStatus",
        "srcaddr6s",
        "status",
        "uuid",
        "vdomparam",
        "webfilterProfile",
        "webfilterProfileStatus"
      ],
      "inputProperties": {
        "addressType": {
          "type": "string",
          "description": "Policy address type (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Application list name.\n"
        },
        "applicationListStatus": {
          "type": "string",
          "description": "Enable/disable application control. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Antivirus profile.\n"
        },
        "avProfileStatus": {
          "type": "string",
          "description": "Enable/disable antivirus. Valid values: `enable`, `disable`.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "CASB profile.\n"
        },
        "casbProfileStatus": {
          "type": "string",
          "description": "Enable/disable CASB. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comments.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "DLP profile name.\n"
        },
        "dlpProfileStatus": {
          "type": "string",
          "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "DLP sensor name.\n"
        },
        "dlpSensorStatus": {
          "type": "string",
          "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
        },
        "dsri": {
          "type": "string",
          "description": "Enable/disable DSRI. Valid values: `enable`, `disable`.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicy6Dstaddr6:Interfacepolicy6Dstaddr6"
          },
          "description": "IPv6 address object to limit traffic monitoring to network traffic sent to the specified address or range. The structure of `dstaddr6` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Email filter profile.\n"
        },
        "emailfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable email filter. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interface": {
          "type": "string",
          "description": "Monitored interface name from available interfaces.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "IPS sensor name.\n"
        },
        "ipsSensorStatus": {
          "type": "string",
          "description": "Enable/disable IPS. Valid values: `enable`, `disable`.\n"
        },
        "label": {
          "type": "string",
          "description": "Label.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Logging type to be used in this policy (Options: all | utm | disable, Default: utm). Valid values: `all`, `utm`, `disable`.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Enable/disable scanning for connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "service6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicy6Service6:Interfacepolicy6Service6"
          },
          "description": "Service name. The structure of `service6` block is documented below.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Antispam profile.\n"
        },
        "spamfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable antispam. Valid values: `enable`, `disable`.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicy6Srcaddr6:Interfacepolicy6Srcaddr6"
          },
          "description": "IPv6 address object to limit traffic monitoring to network traffic sent from the specified address or range. The structure of `srcaddr6` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n\nThe `srcaddr6` block supports:\n",
          "willReplaceOnChanges": true
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Web filter profile.\n"
        },
        "webfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable web filtering. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "dstaddr6s",
        "interface",
        "srcaddr6s"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Interfacepolicy6 resources.\n",
        "properties": {
          "addressType": {
            "type": "string",
            "description": "Policy address type (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
          },
          "applicationList": {
            "type": "string",
            "description": "Application list name.\n"
          },
          "applicationListStatus": {
            "type": "string",
            "description": "Enable/disable application control. Valid values: `enable`, `disable`.\n"
          },
          "avProfile": {
            "type": "string",
            "description": "Antivirus profile.\n"
          },
          "avProfileStatus": {
            "type": "string",
            "description": "Enable/disable antivirus. Valid values: `enable`, `disable`.\n"
          },
          "casbProfile": {
            "type": "string",
            "description": "CASB profile.\n"
          },
          "casbProfileStatus": {
            "type": "string",
            "description": "Enable/disable CASB. Valid values: `enable`, `disable`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comments.\n"
          },
          "dlpProfile": {
            "type": "string",
            "description": "DLP profile name.\n"
          },
          "dlpProfileStatus": {
            "type": "string",
            "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
          },
          "dlpSensor": {
            "type": "string",
            "description": "DLP sensor name.\n"
          },
          "dlpSensorStatus": {
            "type": "string",
            "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
          },
          "dsri": {
            "type": "string",
            "description": "Enable/disable DSRI. Valid values: `enable`, `disable`.\n"
          },
          "dstaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInterfacepolicy6Dstaddr6:Interfacepolicy6Dstaddr6"
            },
            "description": "IPv6 address object to limit traffic monitoring to network traffic sent to the specified address or range. The structure of `dstaddr6` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emailfilterProfile": {
            "type": "string",
            "description": "Email filter profile.\n"
          },
          "emailfilterProfileStatus": {
            "type": "string",
            "description": "Enable/disable email filter. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "interface": {
            "type": "string",
            "description": "Monitored interface name from available interfaces.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "IPS sensor name.\n"
          },
          "ipsSensorStatus": {
            "type": "string",
            "description": "Enable/disable IPS. Valid values: `enable`, `disable`.\n"
          },
          "label": {
            "type": "string",
            "description": "Label.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Logging type to be used in this policy (Options: all | utm | disable, Default: utm). Valid values: `all`, `utm`, `disable`.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "scanBotnetConnections": {
            "type": "string",
            "description": "Enable/disable scanning for connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
          },
          "service6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInterfacepolicy6Service6:Interfacepolicy6Service6"
            },
            "description": "Service name. The structure of `service6` block is documented below.\n"
          },
          "spamfilterProfile": {
            "type": "string",
            "description": "Antispam profile.\n"
          },
          "spamfilterProfileStatus": {
            "type": "string",
            "description": "Enable/disable antispam. Valid values: `enable`, `disable`.\n"
          },
          "srcaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInterfacepolicy6Srcaddr6:Interfacepolicy6Srcaddr6"
            },
            "description": "IPv6 address object to limit traffic monitoring to network traffic sent from the specified address or range. The structure of `srcaddr6` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n\nThe `srcaddr6` block supports:\n",
            "willReplaceOnChanges": true
          },
          "webfilterProfile": {
            "type": "string",
            "description": "Web filter profile.\n"
          },
          "webfilterProfileStatus": {
            "type": "string",
            "description": "Enable/disable web filtering. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/interfacepolicy:Interfacepolicy": {
      "description": "Configure IPv4 interface policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Interfacepolicy(\"trname\", {\n    addressType: \"ipv4\",\n    applicationListStatus: \"disable\",\n    avProfileStatus: \"disable\",\n    dlpSensorStatus: \"disable\",\n    dsri: \"disable\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    \"interface\": \"port4\",\n    ipsSensorStatus: \"disable\",\n    logtraffic: \"all\",\n    policyid: 1,\n    scanBotnetConnections: \"block\",\n    services: [{\n        name: \"ALL\",\n    }],\n    spamfilterProfileStatus: \"disable\",\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    status: \"enable\",\n    webfilterProfileStatus: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Interfacepolicy(\"trname\",\n    address_type=\"ipv4\",\n    application_list_status=\"disable\",\n    av_profile_status=\"disable\",\n    dlp_sensor_status=\"disable\",\n    dsri=\"disable\",\n    dstaddrs=[fortios.firewall.InterfacepolicyDstaddrArgs(\n        name=\"all\",\n    )],\n    interface=\"port4\",\n    ips_sensor_status=\"disable\",\n    logtraffic=\"all\",\n    policyid=1,\n    scan_botnet_connections=\"block\",\n    services=[fortios.firewall.InterfacepolicyServiceArgs(\n        name=\"ALL\",\n    )],\n    spamfilter_profile_status=\"disable\",\n    srcaddrs=[fortios.firewall.InterfacepolicySrcaddrArgs(\n        name=\"all\",\n    )],\n    status=\"enable\",\n    webfilter_profile_status=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Interfacepolicy(\"trname\", new()\n    {\n        AddressType = \"ipv4\",\n        ApplicationListStatus = \"disable\",\n        AvProfileStatus = \"disable\",\n        DlpSensorStatus = \"disable\",\n        Dsri = \"disable\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.InterfacepolicyDstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Interface = \"port4\",\n        IpsSensorStatus = \"disable\",\n        Logtraffic = \"all\",\n        Policyid = 1,\n        ScanBotnetConnections = \"block\",\n        Services = new[]\n        {\n            new Fortios.Firewall.Inputs.InterfacepolicyServiceArgs\n            {\n                Name = \"ALL\",\n            },\n        },\n        SpamfilterProfileStatus = \"disable\",\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.InterfacepolicySrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Status = \"enable\",\n        WebfilterProfileStatus = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewInterfacepolicy(ctx, \"trname\", &firewall.InterfacepolicyArgs{\n\t\t\tAddressType:           pulumi.String(\"ipv4\"),\n\t\t\tApplicationListStatus: pulumi.String(\"disable\"),\n\t\t\tAvProfileStatus:       pulumi.String(\"disable\"),\n\t\t\tDlpSensorStatus:       pulumi.String(\"disable\"),\n\t\t\tDsri:                  pulumi.String(\"disable\"),\n\t\t\tDstaddrs: firewall.InterfacepolicyDstaddrArray{\n\t\t\t\t&firewall.InterfacepolicyDstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInterface:             pulumi.String(\"port4\"),\n\t\t\tIpsSensorStatus:       pulumi.String(\"disable\"),\n\t\t\tLogtraffic:            pulumi.String(\"all\"),\n\t\t\tPolicyid:              pulumi.Int(1),\n\t\t\tScanBotnetConnections: pulumi.String(\"block\"),\n\t\t\tServices: firewall.InterfacepolicyServiceArray{\n\t\t\t\t&firewall.InterfacepolicyServiceArgs{\n\t\t\t\t\tName: pulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSpamfilterProfileStatus: pulumi.String(\"disable\"),\n\t\t\tSrcaddrs: firewall.InterfacepolicySrcaddrArray{\n\t\t\t\t&firewall.InterfacepolicySrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus:                 pulumi.String(\"enable\"),\n\t\t\tWebfilterProfileStatus: pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Interfacepolicy;\nimport com.pulumi.fortios.firewall.InterfacepolicyArgs;\nimport com.pulumi.fortios.firewall.inputs.InterfacepolicyDstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.InterfacepolicyServiceArgs;\nimport com.pulumi.fortios.firewall.inputs.InterfacepolicySrcaddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Interfacepolicy(\"trname\", InterfacepolicyArgs.builder()\n            .addressType(\"ipv4\")\n            .applicationListStatus(\"disable\")\n            .avProfileStatus(\"disable\")\n            .dlpSensorStatus(\"disable\")\n            .dsri(\"disable\")\n            .dstaddrs(InterfacepolicyDstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .interface_(\"port4\")\n            .ipsSensorStatus(\"disable\")\n            .logtraffic(\"all\")\n            .policyid(1)\n            .scanBotnetConnections(\"block\")\n            .services(InterfacepolicyServiceArgs.builder()\n                .name(\"ALL\")\n                .build())\n            .spamfilterProfileStatus(\"disable\")\n            .srcaddrs(InterfacepolicySrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .status(\"enable\")\n            .webfilterProfileStatus(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Interfacepolicy\n    properties:\n      addressType: ipv4\n      applicationListStatus: disable\n      avProfileStatus: disable\n      dlpSensorStatus: disable\n      dsri: disable\n      dstaddrs:\n        - name: all\n      interface: port4\n      ipsSensorStatus: disable\n      logtraffic: all\n      policyid: 1\n      scanBotnetConnections: block\n      services:\n        - name: ALL\n      spamfilterProfileStatus: disable\n      srcaddrs:\n        - name: all\n      status: enable\n      webfilterProfileStatus: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall InterfacePolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/interfacepolicy:Interfacepolicy labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/interfacepolicy:Interfacepolicy labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addressType": {
          "type": "string",
          "description": "Policy address type (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Application list name.\n"
        },
        "applicationListStatus": {
          "type": "string",
          "description": "Enable/disable application control. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Antivirus profile.\n"
        },
        "avProfileStatus": {
          "type": "string",
          "description": "Enable/disable antivirus. Valid values: `enable`, `disable`.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "CASB profile.\n"
        },
        "casbProfileStatus": {
          "type": "string",
          "description": "Enable/disable CASB. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comments.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "DLP profile name.\n"
        },
        "dlpProfileStatus": {
          "type": "string",
          "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "DLP sensor name.\n"
        },
        "dlpSensorStatus": {
          "type": "string",
          "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
        },
        "dsri": {
          "type": "string",
          "description": "Enable/disable DSRI. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicyDstaddr:InterfacepolicyDstaddr"
          },
          "description": "Address object to limit traffic monitoring to network traffic sent to the specified address or range. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Email filter profile.\n"
        },
        "emailfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable email filter. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interface": {
          "type": "string",
          "description": "Monitored interface name from available interfaces.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "IPS sensor name.\n"
        },
        "ipsSensorStatus": {
          "type": "string",
          "description": "Enable/disable IPS. Valid values: `enable`, `disable`.\n"
        },
        "label": {
          "type": "string",
          "description": "Label.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Logging type to be used in this policy (Options: all | utm | disable, Default: utm). Valid values: `all`, `utm`, `disable`.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Enable/disable scanning for connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicyService:InterfacepolicyService"
          },
          "description": "Service object from available options. The structure of `service` block is documented below.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Antispam profile.\n"
        },
        "spamfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable antispam. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicySrcaddr:InterfacepolicySrcaddr"
          },
          "description": "Address object to limit traffic monitoring to network traffic sent from the specified address or range. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Web filter profile.\n"
        },
        "webfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable web filtering. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "addressType",
        "applicationList",
        "applicationListStatus",
        "avProfile",
        "avProfileStatus",
        "casbProfile",
        "casbProfileStatus",
        "dlpProfile",
        "dlpProfileStatus",
        "dlpSensor",
        "dlpSensorStatus",
        "dsri",
        "dstaddrs",
        "emailfilterProfile",
        "emailfilterProfileStatus",
        "interface",
        "ipsSensor",
        "ipsSensorStatus",
        "label",
        "logtraffic",
        "policyid",
        "scanBotnetConnections",
        "services",
        "spamfilterProfile",
        "spamfilterProfileStatus",
        "srcaddrs",
        "status",
        "uuid",
        "vdomparam",
        "webfilterProfile",
        "webfilterProfileStatus"
      ],
      "inputProperties": {
        "addressType": {
          "type": "string",
          "description": "Policy address type (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Application list name.\n"
        },
        "applicationListStatus": {
          "type": "string",
          "description": "Enable/disable application control. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Antivirus profile.\n"
        },
        "avProfileStatus": {
          "type": "string",
          "description": "Enable/disable antivirus. Valid values: `enable`, `disable`.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "CASB profile.\n"
        },
        "casbProfileStatus": {
          "type": "string",
          "description": "Enable/disable CASB. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comments.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "DLP profile name.\n"
        },
        "dlpProfileStatus": {
          "type": "string",
          "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "DLP sensor name.\n"
        },
        "dlpSensorStatus": {
          "type": "string",
          "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
        },
        "dsri": {
          "type": "string",
          "description": "Enable/disable DSRI. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicyDstaddr:InterfacepolicyDstaddr"
          },
          "description": "Address object to limit traffic monitoring to network traffic sent to the specified address or range. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Email filter profile.\n"
        },
        "emailfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable email filter. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interface": {
          "type": "string",
          "description": "Monitored interface name from available interfaces.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "IPS sensor name.\n"
        },
        "ipsSensorStatus": {
          "type": "string",
          "description": "Enable/disable IPS. Valid values: `enable`, `disable`.\n"
        },
        "label": {
          "type": "string",
          "description": "Label.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Logging type to be used in this policy (Options: all | utm | disable, Default: utm). Valid values: `all`, `utm`, `disable`.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Enable/disable scanning for connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicyService:InterfacepolicyService"
          },
          "description": "Service object from available options. The structure of `service` block is documented below.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Antispam profile.\n"
        },
        "spamfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable antispam. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInterfacepolicySrcaddr:InterfacepolicySrcaddr"
          },
          "description": "Address object to limit traffic monitoring to network traffic sent from the specified address or range. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Web filter profile.\n"
        },
        "webfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable web filtering. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "interface",
        "services",
        "srcaddrs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Interfacepolicy resources.\n",
        "properties": {
          "addressType": {
            "type": "string",
            "description": "Policy address type (IPv4 or IPv6). Valid values: `ipv4`, `ipv6`.\n"
          },
          "applicationList": {
            "type": "string",
            "description": "Application list name.\n"
          },
          "applicationListStatus": {
            "type": "string",
            "description": "Enable/disable application control. Valid values: `enable`, `disable`.\n"
          },
          "avProfile": {
            "type": "string",
            "description": "Antivirus profile.\n"
          },
          "avProfileStatus": {
            "type": "string",
            "description": "Enable/disable antivirus. Valid values: `enable`, `disable`.\n"
          },
          "casbProfile": {
            "type": "string",
            "description": "CASB profile.\n"
          },
          "casbProfileStatus": {
            "type": "string",
            "description": "Enable/disable CASB. Valid values: `enable`, `disable`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comments.\n"
          },
          "dlpProfile": {
            "type": "string",
            "description": "DLP profile name.\n"
          },
          "dlpProfileStatus": {
            "type": "string",
            "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
          },
          "dlpSensor": {
            "type": "string",
            "description": "DLP sensor name.\n"
          },
          "dlpSensorStatus": {
            "type": "string",
            "description": "Enable/disable DLP. Valid values: `enable`, `disable`.\n"
          },
          "dsri": {
            "type": "string",
            "description": "Enable/disable DSRI. Valid values: `enable`, `disable`.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInterfacepolicyDstaddr:InterfacepolicyDstaddr"
            },
            "description": "Address object to limit traffic monitoring to network traffic sent to the specified address or range. The structure of `dstaddr` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emailfilterProfile": {
            "type": "string",
            "description": "Email filter profile.\n"
          },
          "emailfilterProfileStatus": {
            "type": "string",
            "description": "Enable/disable email filter. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "interface": {
            "type": "string",
            "description": "Monitored interface name from available interfaces.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "IPS sensor name.\n"
          },
          "ipsSensorStatus": {
            "type": "string",
            "description": "Enable/disable IPS. Valid values: `enable`, `disable`.\n"
          },
          "label": {
            "type": "string",
            "description": "Label.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Logging type to be used in this policy (Options: all | utm | disable, Default: utm). Valid values: `all`, `utm`, `disable`.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "scanBotnetConnections": {
            "type": "string",
            "description": "Enable/disable scanning for connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInterfacepolicyService:InterfacepolicyService"
            },
            "description": "Service object from available options. The structure of `service` block is documented below.\n"
          },
          "spamfilterProfile": {
            "type": "string",
            "description": "Antispam profile.\n"
          },
          "spamfilterProfileStatus": {
            "type": "string",
            "description": "Enable/disable antispam. Valid values: `enable`, `disable`.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInterfacepolicySrcaddr:InterfacepolicySrcaddr"
            },
            "description": "Address object to limit traffic monitoring to network traffic sent from the specified address or range. The structure of `srcaddr` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "webfilterProfile": {
            "type": "string",
            "description": "Web filter profile.\n"
          },
          "webfilterProfileStatus": {
            "type": "string",
            "description": "Enable/disable web filtering. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetservice:Internetservice": {
      "description": "Show Internet Service application.\n\n## Import\n\nFirewall InternetService can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetservice:Internetservice labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetservice:Internetservice labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "database": {
          "type": "string",
          "description": "Database name this Internet Service belongs to. Valid values: `isdb`, `irdb`.\n"
        },
        "direction": {
          "type": "string",
          "description": "How this service may be used in a firewall policy (source, destination or both). Valid values: `src`, `dst`, `both`.\n"
        },
        "extraIp6RangeNumber": {
          "type": "integer",
          "description": "Extra number of IPv6 ranges.\n"
        },
        "extraIpRangeNumber": {
          "type": "integer",
          "description": "Extra number of IP ranges.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        },
        "iconId": {
          "type": "integer",
          "description": "Icon ID of Internet Service.\n"
        },
        "ip6RangeNumber": {
          "type": "integer",
          "description": "Number of IPv6 ranges.\n"
        },
        "ipNumber": {
          "type": "integer",
          "description": "Total number of IP addresses.\n"
        },
        "ipRangeNumber": {
          "type": "integer",
          "description": "Total number of IP ranges.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        },
        "obsolete": {
          "type": "integer",
          "description": "Indicates whether the Internet Service can be used.\n"
        },
        "reputation": {
          "type": "integer",
          "description": "Reputation level of the Internet Service.\n"
        },
        "singularity": {
          "type": "integer",
          "description": "Singular level of the Internet Service.\n"
        },
        "sldId": {
          "type": "integer",
          "description": "Second Level Domain.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "database",
        "direction",
        "extraIp6RangeNumber",
        "extraIpRangeNumber",
        "fosid",
        "iconId",
        "ip6RangeNumber",
        "ipNumber",
        "ipRangeNumber",
        "name",
        "obsolete",
        "reputation",
        "singularity",
        "sldId",
        "vdomparam"
      ],
      "inputProperties": {
        "database": {
          "type": "string",
          "description": "Database name this Internet Service belongs to. Valid values: `isdb`, `irdb`.\n"
        },
        "direction": {
          "type": "string",
          "description": "How this service may be used in a firewall policy (source, destination or both). Valid values: `src`, `dst`, `both`.\n"
        },
        "extraIp6RangeNumber": {
          "type": "integer",
          "description": "Extra number of IPv6 ranges.\n"
        },
        "extraIpRangeNumber": {
          "type": "integer",
          "description": "Extra number of IP ranges.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        },
        "iconId": {
          "type": "integer",
          "description": "Icon ID of Internet Service.\n"
        },
        "ip6RangeNumber": {
          "type": "integer",
          "description": "Number of IPv6 ranges.\n"
        },
        "ipNumber": {
          "type": "integer",
          "description": "Total number of IP addresses.\n"
        },
        "ipRangeNumber": {
          "type": "integer",
          "description": "Total number of IP ranges.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        },
        "obsolete": {
          "type": "integer",
          "description": "Indicates whether the Internet Service can be used.\n"
        },
        "reputation": {
          "type": "integer",
          "description": "Reputation level of the Internet Service.\n"
        },
        "singularity": {
          "type": "integer",
          "description": "Singular level of the Internet Service.\n"
        },
        "sldId": {
          "type": "integer",
          "description": "Second Level Domain.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetservice resources.\n",
        "properties": {
          "database": {
            "type": "string",
            "description": "Database name this Internet Service belongs to. Valid values: `isdb`, `irdb`.\n"
          },
          "direction": {
            "type": "string",
            "description": "How this service may be used in a firewall policy (source, destination or both). Valid values: `src`, `dst`, `both`.\n"
          },
          "extraIp6RangeNumber": {
            "type": "integer",
            "description": "Extra number of IPv6 ranges.\n"
          },
          "extraIpRangeNumber": {
            "type": "integer",
            "description": "Extra number of IP ranges.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Internet Service ID.\n"
          },
          "iconId": {
            "type": "integer",
            "description": "Icon ID of Internet Service.\n"
          },
          "ip6RangeNumber": {
            "type": "integer",
            "description": "Number of IPv6 ranges.\n"
          },
          "ipNumber": {
            "type": "integer",
            "description": "Total number of IP addresses.\n"
          },
          "ipRangeNumber": {
            "type": "integer",
            "description": "Total number of IP ranges.\n"
          },
          "name": {
            "type": "string",
            "description": "Internet Service name.\n"
          },
          "obsolete": {
            "type": "integer",
            "description": "Indicates whether the Internet Service can be used.\n"
          },
          "reputation": {
            "type": "integer",
            "description": "Reputation level of the Internet Service.\n"
          },
          "singularity": {
            "type": "integer",
            "description": "Singular level of the Internet Service.\n"
          },
          "sldId": {
            "type": "integer",
            "description": "Second Level Domain.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetserviceaddition:Internetserviceaddition": {
      "description": "Configure Internet Services Addition. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nFirewall InternetServiceAddition can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetserviceaddition:Internetserviceaddition labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetserviceaddition:Internetserviceaddition labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceadditionEntry:InternetserviceadditionEntry"
          },
          "description": "Entries added to the Internet Service addition database. The structure of `entry` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service ID in the Internet Service database.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceadditionEntry:InternetserviceadditionEntry"
          },
          "description": "Entries added to the Internet Service addition database. The structure of `entry` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service ID in the Internet Service database.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetserviceaddition resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInternetserviceadditionEntry:InternetserviceadditionEntry"
            },
            "description": "Entries added to the Internet Service addition database. The structure of `entry` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Internet Service ID in the Internet Service database.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetserviceappend:Internetserviceappend": {
      "description": "Configure additional port mappings for Internet Services. Applies to FortiOS Version `6.2.4,6.2.6,6.4.1,6.4.2,6.4.10,6.4.11,6.4.12,6.4.13,6.4.14,6.4.15,7.0.0,7.0.1,7.0.2,7.0.3,7.0.4,7.0.5,7.0.6,7.0.7,7.0.8,7.0.9,7.0.10,7.0.11,7.0.12,7.0.13,7.0.14,7.0.15,7.2.0,7.2.1,7.2.2,7.2.3,7.2.4,7.2.6,7.2.7,7.2.8,7.4.0,7.4.1,7.4.2,7.4.3,7.4.4`.\n\n## Import\n\nFirewall InternetServiceAppend can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetserviceappend:Internetserviceappend labelname FirewallInternetServiceAppend\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetserviceappend:Internetserviceappend labelname FirewallInternetServiceAppend\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6) Valid values: `ipv4`, `ipv6`, `both`.\n"
        },
        "appendPort": {
          "type": "integer",
          "description": "Appending TCP/UDP/SCTP destination port (1 to 65535).\n"
        },
        "matchPort": {
          "type": "integer",
          "description": "Matching TCP/UDP/SCTP destination port (1 to 65535).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "addrMode",
        "appendPort",
        "matchPort",
        "vdomparam"
      ],
      "inputProperties": {
        "addrMode": {
          "type": "string",
          "description": "Address mode (IPv4 or IPv6) Valid values: `ipv4`, `ipv6`, `both`.\n"
        },
        "appendPort": {
          "type": "integer",
          "description": "Appending TCP/UDP/SCTP destination port (1 to 65535).\n"
        },
        "matchPort": {
          "type": "integer",
          "description": "Matching TCP/UDP/SCTP destination port (1 to 65535).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetserviceappend resources.\n",
        "properties": {
          "addrMode": {
            "type": "string",
            "description": "Address mode (IPv4 or IPv6) Valid values: `ipv4`, `ipv6`, `both`.\n"
          },
          "appendPort": {
            "type": "integer",
            "description": "Appending TCP/UDP/SCTP destination port (1 to 65535).\n"
          },
          "matchPort": {
            "type": "integer",
            "description": "Matching TCP/UDP/SCTP destination port (1 to 65535).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetservicebotnet:Internetservicebotnet": {
      "description": "Show Internet Service botnet. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nFirewall InternetServiceBotnet can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetservicebotnet:Internetservicebotnet labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetservicebotnet:Internetservicebotnet labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Internet Service Botnet ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service Botnet name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "Internet Service Botnet ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service Botnet name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetservicebotnet resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Internet Service Botnet ID.\n"
          },
          "name": {
            "type": "string",
            "description": "Internet Service Botnet name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetservicecustom:Internetservicecustom": {
      "description": "Configure custom Internet Services.\n\n## Import\n\nFirewall InternetServiceCustom can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetservicecustom:Internetservicecustom labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetservicecustom:Internetservicecustom labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicecustomEntry:InternetservicecustomEntry"
          },
          "description": "Entries added to the Internet Service database and custom database. The structure of `entry` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        },
        "reputation": {
          "type": "integer",
          "description": "Reputation level of the custom Internet Service.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "reputation",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicecustomEntry:InternetservicecustomEntry"
          },
          "description": "Entries added to the Internet Service database and custom database. The structure of `entry` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        },
        "reputation": {
          "type": "integer",
          "description": "Reputation level of the custom Internet Service.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetservicecustom resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInternetservicecustomEntry:InternetservicecustomEntry"
            },
            "description": "Entries added to the Internet Service database and custom database. The structure of `entry` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Internet Service name.\n"
          },
          "reputation": {
            "type": "integer",
            "description": "Reputation level of the custom Internet Service.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetservicecustomgroup:Internetservicecustomgroup": {
      "description": "Configure custom Internet Service group.\n\n## Import\n\nFirewall InternetServiceCustomGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetservicecustomgroup:Internetservicecustomgroup labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetservicecustomgroup:Internetservicecustomgroup labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicecustomgroupMember:InternetservicecustomgroupMember"
          },
          "description": "Custom Internet Service group members. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicecustomgroupMember:InternetservicecustomgroupMember"
          },
          "description": "Custom Internet Service group members. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Custom Internet Service group name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetservicecustomgroup resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInternetservicecustomgroupMember:InternetservicecustomgroupMember"
            },
            "description": "Custom Internet Service group members. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Custom Internet Service group name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetservicedefinition:Internetservicedefinition": {
      "description": "Internet Service definition.\n\n## Import\n\nFirewall InternetServiceDefinition can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetservicedefinition:Internetservicedefinition labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetservicedefinition:Internetservicedefinition labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicedefinitionEntry:InternetservicedefinitionEntry"
          },
          "description": "Protocol and port information in an Internet Service entry. The structure of `entry` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service application list ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "vdomparam"
      ],
      "inputProperties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicedefinitionEntry:InternetservicedefinitionEntry"
          },
          "description": "Protocol and port information in an Internet Service entry. The structure of `entry` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service application list ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetservicedefinition resources.\n",
        "properties": {
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInternetservicedefinitionEntry:InternetservicedefinitionEntry"
            },
            "description": "Protocol and port information in an Internet Service entry. The structure of `entry` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Internet Service application list ID.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetserviceextension:Internetserviceextension": {
      "description": "Configure Internet Services Extension.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Internetserviceextension(\"trname\", {\n    comment: \"EIWE\",\n    fosid: 65536,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Internetserviceextension(\"trname\",\n    comment=\"EIWE\",\n    fosid=65536)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Internetserviceextension(\"trname\", new()\n    {\n        Comment = \"EIWE\",\n        Fosid = 65536,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewInternetserviceextension(ctx, \"trname\", &firewall.InternetserviceextensionArgs{\n\t\t\tComment: pulumi.String(\"EIWE\"),\n\t\t\tFosid:   pulumi.Int(65536),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Internetserviceextension;\nimport com.pulumi.fortios.firewall.InternetserviceextensionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Internetserviceextension(\"trname\", InternetserviceextensionArgs.builder()\n            .comment(\"EIWE\")\n            .fosid(65536)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Internetserviceextension\n    properties:\n      comment: EIWE\n      fosid: 65536\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall InternetServiceExtension can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetserviceextension:Internetserviceextension labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetserviceextension:Internetserviceextension labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "disableEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceextensionDisableEntry:InternetserviceextensionDisableEntry"
          },
          "description": "Disable entries in the Internet Service database. The structure of `disable_entry` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceextensionEntry:InternetserviceextensionEntry"
          },
          "description": "Entries added to the Internet Service extension database. The structure of `entry` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service ID in the Internet Service database.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "disableEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceextensionDisableEntry:InternetserviceextensionDisableEntry"
          },
          "description": "Disable entries in the Internet Service database. The structure of `disable_entry` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetserviceextensionEntry:InternetserviceextensionEntry"
          },
          "description": "Entries added to the Internet Service extension database. The structure of `entry` block is documented below.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service ID in the Internet Service database.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetserviceextension resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "disableEntries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInternetserviceextensionDisableEntry:InternetserviceextensionDisableEntry"
            },
            "description": "Disable entries in the Internet Service database. The structure of `disable_entry` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInternetserviceextensionEntry:InternetserviceextensionEntry"
            },
            "description": "Entries added to the Internet Service extension database. The structure of `entry` block is documented below.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Internet Service ID in the Internet Service database.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetservicegroup:Internetservicegroup": {
      "description": "Configure group of Internet Service.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Internetservicegroup(\"trname\", {\n    direction: \"both\",\n    members: [\n        {\n            id: 65641,\n        },\n        {\n            id: 65646,\n        },\n        {\n            id: 196747,\n        },\n        {\n            id: 327781,\n        },\n        {\n            id: 327786,\n        },\n        {\n            id: 327791,\n        },\n        {\n            id: 327839,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Internetservicegroup(\"trname\",\n    direction=\"both\",\n    members=[\n        fortios.firewall.InternetservicegroupMemberArgs(\n            id=65641,\n        ),\n        fortios.firewall.InternetservicegroupMemberArgs(\n            id=65646,\n        ),\n        fortios.firewall.InternetservicegroupMemberArgs(\n            id=196747,\n        ),\n        fortios.firewall.InternetservicegroupMemberArgs(\n            id=327781,\n        ),\n        fortios.firewall.InternetservicegroupMemberArgs(\n            id=327786,\n        ),\n        fortios.firewall.InternetservicegroupMemberArgs(\n            id=327791,\n        ),\n        fortios.firewall.InternetservicegroupMemberArgs(\n            id=327839,\n        ),\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Internetservicegroup(\"trname\", new()\n    {\n        Direction = \"both\",\n        Members = new[]\n        {\n            new Fortios.Firewall.Inputs.InternetservicegroupMemberArgs\n            {\n                Id = 65641,\n            },\n            new Fortios.Firewall.Inputs.InternetservicegroupMemberArgs\n            {\n                Id = 65646,\n            },\n            new Fortios.Firewall.Inputs.InternetservicegroupMemberArgs\n            {\n                Id = 196747,\n            },\n            new Fortios.Firewall.Inputs.InternetservicegroupMemberArgs\n            {\n                Id = 327781,\n            },\n            new Fortios.Firewall.Inputs.InternetservicegroupMemberArgs\n            {\n                Id = 327786,\n            },\n            new Fortios.Firewall.Inputs.InternetservicegroupMemberArgs\n            {\n                Id = 327791,\n            },\n            new Fortios.Firewall.Inputs.InternetservicegroupMemberArgs\n            {\n                Id = 327839,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewInternetservicegroup(ctx, \"trname\", &firewall.InternetservicegroupArgs{\n\t\t\tDirection: pulumi.String(\"both\"),\n\t\t\tMembers: firewall.InternetservicegroupMemberArray{\n\t\t\t\t&firewall.InternetservicegroupMemberArgs{\n\t\t\t\t\tId: pulumi.Int(65641),\n\t\t\t\t},\n\t\t\t\t&firewall.InternetservicegroupMemberArgs{\n\t\t\t\t\tId: pulumi.Int(65646),\n\t\t\t\t},\n\t\t\t\t&firewall.InternetservicegroupMemberArgs{\n\t\t\t\t\tId: pulumi.Int(196747),\n\t\t\t\t},\n\t\t\t\t&firewall.InternetservicegroupMemberArgs{\n\t\t\t\t\tId: pulumi.Int(327781),\n\t\t\t\t},\n\t\t\t\t&firewall.InternetservicegroupMemberArgs{\n\t\t\t\t\tId: pulumi.Int(327786),\n\t\t\t\t},\n\t\t\t\t&firewall.InternetservicegroupMemberArgs{\n\t\t\t\t\tId: pulumi.Int(327791),\n\t\t\t\t},\n\t\t\t\t&firewall.InternetservicegroupMemberArgs{\n\t\t\t\t\tId: pulumi.Int(327839),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Internetservicegroup;\nimport com.pulumi.fortios.firewall.InternetservicegroupArgs;\nimport com.pulumi.fortios.firewall.inputs.InternetservicegroupMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Internetservicegroup(\"trname\", InternetservicegroupArgs.builder()\n            .direction(\"both\")\n            .members(            \n                InternetservicegroupMemberArgs.builder()\n                    .id(65641)\n                    .build(),\n                InternetservicegroupMemberArgs.builder()\n                    .id(65646)\n                    .build(),\n                InternetservicegroupMemberArgs.builder()\n                    .id(196747)\n                    .build(),\n                InternetservicegroupMemberArgs.builder()\n                    .id(327781)\n                    .build(),\n                InternetservicegroupMemberArgs.builder()\n                    .id(327786)\n                    .build(),\n                InternetservicegroupMemberArgs.builder()\n                    .id(327791)\n                    .build(),\n                InternetservicegroupMemberArgs.builder()\n                    .id(327839)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Internetservicegroup\n    properties:\n      direction: both\n      members:\n        - id: 65641\n        - id: 65646\n        - id: 196747\n        - id: 327781\n        - id: 327786\n        - id: 327791\n        - id: 327839\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall InternetServiceGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetservicegroup:Internetservicegroup labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetservicegroup:Internetservicegroup labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "direction": {
          "type": "string",
          "description": "How this service may be used (source, destination or both). Valid values: `source`, `destination`, `both`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicegroupMember:InternetservicegroupMember"
          },
          "description": "Internet Service group member. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "direction",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "direction": {
          "type": "string",
          "description": "How this service may be used (source, destination or both). Valid values: `source`, `destination`, `both`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicegroupMember:InternetservicegroupMember"
          },
          "description": "Internet Service group member. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service group name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetservicegroup resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "direction": {
            "type": "string",
            "description": "How this service may be used (source, destination or both). Valid values: `source`, `destination`, `both`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInternetservicegroupMember:InternetservicegroupMember"
            },
            "description": "Internet Service group member. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Internet Service group name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetserviceipblreason:Internetserviceipblreason": {
      "description": "IP blacklist reason. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nFirewall InternetServiceIpblReason can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetserviceipblreason:Internetserviceipblreason labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetserviceipblreason:Internetserviceipblreason labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "IP blacklist reason ID.\n"
        },
        "name": {
          "type": "string",
          "description": "IP blacklist reason name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "IP blacklist reason ID.\n"
        },
        "name": {
          "type": "string",
          "description": "IP blacklist reason name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetserviceipblreason resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "IP blacklist reason ID.\n"
          },
          "name": {
            "type": "string",
            "description": "IP blacklist reason name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetserviceipblvendor:Internetserviceipblvendor": {
      "description": "IP blacklist vendor. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nFirewall InternetServiceIpblVendor can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetserviceipblvendor:Internetserviceipblvendor labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetserviceipblvendor:Internetserviceipblvendor labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "IP blacklist vendor ID.\n"
        },
        "name": {
          "type": "string",
          "description": "IP blacklist vendor name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "IP blacklist vendor ID.\n"
        },
        "name": {
          "type": "string",
          "description": "IP blacklist vendor name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetserviceipblvendor resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "IP blacklist vendor ID.\n"
          },
          "name": {
            "type": "string",
            "description": "IP blacklist vendor name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetservicelist:Internetservicelist": {
      "description": "Internet Service list. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nFirewall InternetServiceList can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetservicelist:Internetservicelist labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetservicelist:Internetservicelist labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Internet Service category ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service category name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "Internet Service category ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service category name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetservicelist resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Internet Service category ID.\n"
          },
          "name": {
            "type": "string",
            "description": "Internet Service category name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetservicename:Internetservicename": {
      "description": "Define internet service names. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nFirewall InternetServiceName can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetservicename:Internetservicename labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetservicename:Internetservicename labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cityId": {
          "type": "integer",
          "description": "City ID.\n"
        },
        "countryId": {
          "type": "integer",
          "description": "Country or Area ID.\n"
        },
        "internetServiceId": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        },
        "regionId": {
          "type": "integer",
          "description": "Region ID.\n"
        },
        "type": {
          "type": "string",
          "description": "Internet Service name type. Valid values: `default`, `location`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "cityId",
        "countryId",
        "internetServiceId",
        "name",
        "regionId",
        "type",
        "vdomparam"
      ],
      "inputProperties": {
        "cityId": {
          "type": "integer",
          "description": "City ID.\n"
        },
        "countryId": {
          "type": "integer",
          "description": "Country or Area ID.\n"
        },
        "internetServiceId": {
          "type": "integer",
          "description": "Internet Service ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service name.\n"
        },
        "regionId": {
          "type": "integer",
          "description": "Region ID.\n"
        },
        "type": {
          "type": "string",
          "description": "Internet Service name type. Valid values: `default`, `location`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetservicename resources.\n",
        "properties": {
          "cityId": {
            "type": "integer",
            "description": "City ID.\n"
          },
          "countryId": {
            "type": "integer",
            "description": "Country or Area ID.\n"
          },
          "internetServiceId": {
            "type": "integer",
            "description": "Internet Service ID.\n"
          },
          "name": {
            "type": "string",
            "description": "Internet Service name.\n"
          },
          "regionId": {
            "type": "integer",
            "description": "Region ID.\n"
          },
          "type": {
            "type": "string",
            "description": "Internet Service name type. Valid values: `default`, `location`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetserviceowner:Internetserviceowner": {
      "description": "Internet Service owner. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nFirewall InternetServiceOwner can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetserviceowner:Internetserviceowner labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetserviceowner:Internetserviceowner labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Internet Service owner ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service owner name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "Internet Service owner ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Internet Service owner name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetserviceowner resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Internet Service owner ID.\n"
          },
          "name": {
            "type": "string",
            "description": "Internet Service owner name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetservicereputation:Internetservicereputation": {
      "description": "Show Internet Service reputation. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nFirewall InternetServiceReputation can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetservicereputation:Internetservicereputation labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetservicereputation:Internetservicereputation labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service Reputation ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "fosid",
        "vdomparam"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service Reputation ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetservicereputation resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Internet Service Reputation ID.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/internetservicesubapp:Internetservicesubapp": {
      "description": "Show Internet Service sub app ID. Applies to FortiOS Version `>= 7.2.4`.\n\n## Import\n\nFirewall InternetServiceSubapp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/internetservicesubapp:Internetservicesubapp labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/internetservicesubapp:Internetservicesubapp labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service main ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "subApps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicesubappSubApp:InternetservicesubappSubApp"
          },
          "description": "Subapp number list. The structure of `sub_app` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "vdomparam"
      ],
      "inputProperties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Internet Service main ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "subApps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FInternetservicesubappSubApp:InternetservicesubappSubApp"
          },
          "description": "Subapp number list. The structure of `sub_app` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Internetservicesubapp resources.\n",
        "properties": {
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Internet Service main ID.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "subApps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FInternetservicesubappSubApp:InternetservicesubappSubApp"
            },
            "description": "Subapp number list. The structure of `sub_app` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ipmacbinding/setting:Setting": {
      "description": "Configure IP to MAC binding settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.ipmacbinding.Setting(\"trname\", {\n    bindthroughfw: \"disable\",\n    bindtofw: \"disable\",\n    undefinedhost: \"block\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.ipmacbinding.Setting(\"trname\",\n    bindthroughfw=\"disable\",\n    bindtofw=\"disable\",\n    undefinedhost=\"block\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Ipmacbinding.Setting(\"trname\", new()\n    {\n        Bindthroughfw = \"disable\",\n        Bindtofw = \"disable\",\n        Undefinedhost = \"block\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewSetting(ctx, \"trname\", &firewall.SettingArgs{\n\t\t\tBindthroughfw: pulumi.String(\"disable\"),\n\t\t\tBindtofw:      pulumi.String(\"disable\"),\n\t\t\tUndefinedhost: pulumi.String(\"block\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Setting;\nimport com.pulumi.fortios.firewall.SettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Setting(\"trname\", SettingArgs.builder()\n            .bindthroughfw(\"disable\")\n            .bindtofw(\"disable\")\n            .undefinedhost(\"block\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/ipmacbinding:Setting\n    properties:\n      bindthroughfw: disable\n      bindtofw: disable\n      undefinedhost: block\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallIpmacbinding Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ipmacbinding/setting:Setting labelname FirewallIpmacbindingSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ipmacbinding/setting:Setting labelname FirewallIpmacbindingSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bindthroughfw": {
          "type": "string",
          "description": "Enable/disable use of IP/MAC binding to filter packets that would normally go through the firewall. Valid values: `enable`, `disable`.\n"
        },
        "bindtofw": {
          "type": "string",
          "description": "Enable/disable use of IP/MAC binding to filter packets that would normally go to the firewall. Valid values: `enable`, `disable`.\n"
        },
        "undefinedhost": {
          "type": "string",
          "description": "Select action to take on packets with IP/MAC addresses not in the binding list (default = block). Valid values: `allow`, `block`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "bindthroughfw",
        "bindtofw",
        "undefinedhost",
        "vdomparam"
      ],
      "inputProperties": {
        "bindthroughfw": {
          "type": "string",
          "description": "Enable/disable use of IP/MAC binding to filter packets that would normally go through the firewall. Valid values: `enable`, `disable`.\n"
        },
        "bindtofw": {
          "type": "string",
          "description": "Enable/disable use of IP/MAC binding to filter packets that would normally go to the firewall. Valid values: `enable`, `disable`.\n"
        },
        "undefinedhost": {
          "type": "string",
          "description": "Select action to take on packets with IP/MAC addresses not in the binding list (default = block). Valid values: `allow`, `block`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "bindthroughfw": {
            "type": "string",
            "description": "Enable/disable use of IP/MAC binding to filter packets that would normally go through the firewall. Valid values: `enable`, `disable`.\n"
          },
          "bindtofw": {
            "type": "string",
            "description": "Enable/disable use of IP/MAC binding to filter packets that would normally go to the firewall. Valid values: `enable`, `disable`.\n"
          },
          "undefinedhost": {
            "type": "string",
            "description": "Select action to take on packets with IP/MAC addresses not in the binding list (default = block). Valid values: `allow`, `block`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ipmacbinding/table:Table": {
      "description": "Configure IP to MAC address pairs in the IP/MAC binding table.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.ipmacbinding.Table(\"trname\", {\n    ip: \"1.1.1.1\",\n    mac: \"00:01:6c:06:a6:29\",\n    seqNum: 1,\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.ipmacbinding.Table(\"trname\",\n    ip=\"1.1.1.1\",\n    mac=\"00:01:6c:06:a6:29\",\n    seq_num=1,\n    status=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Ipmacbinding.Table(\"trname\", new()\n    {\n        Ip = \"1.1.1.1\",\n        Mac = \"00:01:6c:06:a6:29\",\n        SeqNum = 1,\n        Status = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewTable(ctx, \"trname\", &firewall.TableArgs{\n\t\t\tIp:     pulumi.String(\"1.1.1.1\"),\n\t\t\tMac:    pulumi.String(\"00:01:6c:06:a6:29\"),\n\t\t\tSeqNum: pulumi.Int(1),\n\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Table;\nimport com.pulumi.fortios.firewall.TableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Table(\"trname\", TableArgs.builder()\n            .ip(\"1.1.1.1\")\n            .mac(\"00:01:6c:06:a6:29\")\n            .seqNum(1)\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/ipmacbinding:Table\n    properties:\n      ip: 1.1.1.1\n      mac: 00:01:6c:06:a6:29\n      seqNum: 1\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallIpmacbinding Table can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ipmacbinding/table:Table labelname {{seq_num}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ipmacbinding/table:Table labelname {{seq_num}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "ip": {
          "type": "string",
          "description": "IPv4 address portion of the pair (format: xxx.xxx.xxx.xxx).\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address portion of the pair (format = xx:xx:xx:xx:xx:xx in hexadecimal).\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the pair (optional, default = no name).\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Entry number.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this IP-mac binding pair. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "ip",
        "mac",
        "name",
        "seqNum",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "ip": {
          "type": "string",
          "description": "IPv4 address portion of the pair (format: xxx.xxx.xxx.xxx).\n"
        },
        "mac": {
          "type": "string",
          "description": "MAC address portion of the pair (format = xx:xx:xx:xx:xx:xx in hexadecimal).\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the pair (optional, default = no name).\n"
        },
        "seqNum": {
          "type": "integer",
          "description": "Entry number.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this IP-mac binding pair. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "ip"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Table resources.\n",
        "properties": {
          "ip": {
            "type": "string",
            "description": "IPv4 address portion of the pair (format: xxx.xxx.xxx.xxx).\n"
          },
          "mac": {
            "type": "string",
            "description": "MAC address portion of the pair (format = xx:xx:xx:xx:xx:xx in hexadecimal).\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the pair (optional, default = no name).\n"
          },
          "seqNum": {
            "type": "integer",
            "description": "Entry number.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this IP-mac binding pair. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ippool6:Ippool6": {
      "description": "Configure IPv6 IP pools.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Ippool6(\"trname\", {\n    endip: \"2001:3ca1:10f:1a:121b::19\",\n    startip: \"2001:3ca1:10f:1a:121b::10\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Ippool6(\"trname\",\n    endip=\"2001:3ca1:10f:1a:121b::19\",\n    startip=\"2001:3ca1:10f:1a:121b::10\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Ippool6(\"trname\", new()\n    {\n        Endip = \"2001:3ca1:10f:1a:121b::19\",\n        Startip = \"2001:3ca1:10f:1a:121b::10\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewIppool6(ctx, \"trname\", &firewall.Ippool6Args{\n\t\t\tEndip:   pulumi.String(\"2001:3ca1:10f:1a:121b::19\"),\n\t\t\tStartip: pulumi.String(\"2001:3ca1:10f:1a:121b::10\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Ippool6;\nimport com.pulumi.fortios.firewall.Ippool6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Ippool6(\"trname\", Ippool6Args.builder()\n            .endip(\"2001:3ca1:10f:1a:121b::19\")\n            .startip(\"2001:3ca1:10f:1a:121b::10\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Ippool6\n    properties:\n      endip: 2001:3ca1:10f:1a:121b::19\n      startip: 2001:3ca1:10f:1a:121b::10\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Ippool6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ippool6:Ippool6 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ippool6:Ippool6 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addNat46Route": {
          "type": "string",
          "description": "Enable/disable adding NAT46 route. Valid values: `disable`, `enable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "endip": {
          "type": "string",
          "description": "Final IPv6 address (inclusive) in the range for the address pool (format xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, Default: ::).\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 IP pool name.\n"
        },
        "nat46": {
          "type": "string",
          "description": "Enable/disable NAT46. Valid values: `disable`, `enable`.\n"
        },
        "startip": {
          "type": "string",
          "description": "First IPv6 address (inclusive) in the range for the address pool (format xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, Default: ::).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "addNat46Route",
        "endip",
        "name",
        "nat46",
        "startip",
        "vdomparam"
      ],
      "inputProperties": {
        "addNat46Route": {
          "type": "string",
          "description": "Enable/disable adding NAT46 route. Valid values: `disable`, `enable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "endip": {
          "type": "string",
          "description": "Final IPv6 address (inclusive) in the range for the address pool (format xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, Default: ::).\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 IP pool name.\n"
        },
        "nat46": {
          "type": "string",
          "description": "Enable/disable NAT46. Valid values: `disable`, `enable`.\n"
        },
        "startip": {
          "type": "string",
          "description": "First IPv6 address (inclusive) in the range for the address pool (format xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, Default: ::).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "endip",
        "startip"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ippool6 resources.\n",
        "properties": {
          "addNat46Route": {
            "type": "string",
            "description": "Enable/disable adding NAT46 route. Valid values: `disable`, `enable`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "endip": {
            "type": "string",
            "description": "Final IPv6 address (inclusive) in the range for the address pool (format xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, Default: ::).\n"
          },
          "name": {
            "type": "string",
            "description": "IPv6 IP pool name.\n"
          },
          "nat46": {
            "type": "string",
            "description": "Enable/disable NAT46. Valid values: `disable`, `enable`.\n"
          },
          "startip": {
            "type": "string",
            "description": "First IPv6 address (inclusive) in the range for the address pool (format xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, Default: ::).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ippool:Ippool": {
      "description": "Configure IPv4 IP pools.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Ippool(\"trname\", {\n    arpReply: \"enable\",\n    blockSize: 128,\n    endip: \"1.0.0.20\",\n    numBlocksPerUser: 8,\n    pbaTimeout: 30,\n    permitAnyHost: \"disable\",\n    sourceEndip: \"0.0.0.0\",\n    sourceStartip: \"0.0.0.0\",\n    startip: \"1.0.0.0\",\n    type: \"overload\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Ippool(\"trname\",\n    arp_reply=\"enable\",\n    block_size=128,\n    endip=\"1.0.0.20\",\n    num_blocks_per_user=8,\n    pba_timeout=30,\n    permit_any_host=\"disable\",\n    source_endip=\"0.0.0.0\",\n    source_startip=\"0.0.0.0\",\n    startip=\"1.0.0.0\",\n    type=\"overload\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Ippool(\"trname\", new()\n    {\n        ArpReply = \"enable\",\n        BlockSize = 128,\n        Endip = \"1.0.0.20\",\n        NumBlocksPerUser = 8,\n        PbaTimeout = 30,\n        PermitAnyHost = \"disable\",\n        SourceEndip = \"0.0.0.0\",\n        SourceStartip = \"0.0.0.0\",\n        Startip = \"1.0.0.0\",\n        Type = \"overload\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewIppool(ctx, \"trname\", &firewall.IppoolArgs{\n\t\t\tArpReply:         pulumi.String(\"enable\"),\n\t\t\tBlockSize:        pulumi.Int(128),\n\t\t\tEndip:            pulumi.String(\"1.0.0.20\"),\n\t\t\tNumBlocksPerUser: pulumi.Int(8),\n\t\t\tPbaTimeout:       pulumi.Int(30),\n\t\t\tPermitAnyHost:    pulumi.String(\"disable\"),\n\t\t\tSourceEndip:      pulumi.String(\"0.0.0.0\"),\n\t\t\tSourceStartip:    pulumi.String(\"0.0.0.0\"),\n\t\t\tStartip:          pulumi.String(\"1.0.0.0\"),\n\t\t\tType:             pulumi.String(\"overload\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Ippool;\nimport com.pulumi.fortios.firewall.IppoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Ippool(\"trname\", IppoolArgs.builder()\n            .arpReply(\"enable\")\n            .blockSize(128)\n            .endip(\"1.0.0.20\")\n            .numBlocksPerUser(8)\n            .pbaTimeout(30)\n            .permitAnyHost(\"disable\")\n            .sourceEndip(\"0.0.0.0\")\n            .sourceStartip(\"0.0.0.0\")\n            .startip(\"1.0.0.0\")\n            .type(\"overload\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Ippool\n    properties:\n      arpReply: enable\n      blockSize: 128\n      endip: 1.0.0.20\n      numBlocksPerUser: 8\n      pbaTimeout: 30\n      permitAnyHost: disable\n      sourceEndip: 0.0.0.0\n      sourceStartip: 0.0.0.0\n      startip: 1.0.0.0\n      type: overload\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Ippool can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ippool:Ippool labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ippool:Ippool labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addNat64Route": {
          "type": "string",
          "description": "Enable/disable adding NAT64 route. Valid values: `disable`, `enable`.\n"
        },
        "arpIntf": {
          "type": "string",
          "description": "Select an interface from available options that will reply to ARP requests. (If blank, any is selected).\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable/disable replying to ARP requests when an IP Pool is added to a policy (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "associatedInterface": {
          "type": "string",
          "description": "Associated interface name.\n"
        },
        "blockSize": {
          "type": "integer",
          "description": "Number of addresses in a block (64 - 4096, default = 128).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "endip": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
        },
        "endport": {
          "type": "integer",
          "description": "Final port number (inclusive) in the range for the address pool (Default: 65533).\n"
        },
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        },
        "nat64": {
          "type": "string",
          "description": "Enable/disable NAT64. Valid values: `disable`, `enable`.\n"
        },
        "numBlocksPerUser": {
          "type": "integer",
          "description": "Number of addresses blocks that can be used by a user (1 to 128, default = 8).\n"
        },
        "pbaInterimLog": {
          "type": "integer",
          "description": "Port block allocation interim logging interval (600 - 86400 seconds, default = 0 which disables interim logging).\n"
        },
        "pbaTimeout": {
          "type": "integer",
          "description": "Port block allocation timeout (seconds).\n"
        },
        "permitAnyHost": {
          "type": "string",
          "description": "Enable/disable full cone NAT. Valid values: `disable`, `enable`.\n"
        },
        "portPerUser": {
          "type": "integer",
          "description": "Number of port for each user (32 - 60416, default = 0, which is auto).\n"
        },
        "sourceEndip": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range of the source addresses to be translated (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
        },
        "sourceStartip": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range of the source addresses to be translated (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
        },
        "startip": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
        },
        "startport": {
          "type": "integer",
          "description": "First port number (inclusive) in the range for the address pool (Default: 5117).\n"
        },
        "subnetBroadcastInIppool": {
          "type": "string",
          "description": "Enable/disable inclusion of the subnetwork address and broadcast IP address in the NAT64 IP pool. Valid values: `disable`, `enable`.\n"
        },
        "type": {
          "type": "string",
          "description": "IP pool type. On FortiOS versions 6.2.0-7.4.1: overload, one-to-one, fixed port range, or port block allocation. On FortiOS versions >= 7.4.2: overload, one-to-one, fixed-port-range, port-block-allocation, cgn-resource-allocation (hyperscale vdom only). Valid values: `overload`, `one-to-one`, `fixed-port-range`, `port-block-allocation`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "addNat64Route",
        "arpIntf",
        "arpReply",
        "associatedInterface",
        "blockSize",
        "endip",
        "endport",
        "name",
        "nat64",
        "numBlocksPerUser",
        "pbaInterimLog",
        "pbaTimeout",
        "permitAnyHost",
        "portPerUser",
        "sourceEndip",
        "sourceStartip",
        "startip",
        "startport",
        "subnetBroadcastInIppool",
        "type",
        "vdomparam"
      ],
      "inputProperties": {
        "addNat64Route": {
          "type": "string",
          "description": "Enable/disable adding NAT64 route. Valid values: `disable`, `enable`.\n"
        },
        "arpIntf": {
          "type": "string",
          "description": "Select an interface from available options that will reply to ARP requests. (If blank, any is selected).\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable/disable replying to ARP requests when an IP Pool is added to a policy (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "associatedInterface": {
          "type": "string",
          "description": "Associated interface name.\n"
        },
        "blockSize": {
          "type": "integer",
          "description": "Number of addresses in a block (64 - 4096, default = 128).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "endip": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
        },
        "endport": {
          "type": "integer",
          "description": "Final port number (inclusive) in the range for the address pool (Default: 65533).\n"
        },
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        },
        "nat64": {
          "type": "string",
          "description": "Enable/disable NAT64. Valid values: `disable`, `enable`.\n"
        },
        "numBlocksPerUser": {
          "type": "integer",
          "description": "Number of addresses blocks that can be used by a user (1 to 128, default = 8).\n"
        },
        "pbaInterimLog": {
          "type": "integer",
          "description": "Port block allocation interim logging interval (600 - 86400 seconds, default = 0 which disables interim logging).\n"
        },
        "pbaTimeout": {
          "type": "integer",
          "description": "Port block allocation timeout (seconds).\n"
        },
        "permitAnyHost": {
          "type": "string",
          "description": "Enable/disable full cone NAT. Valid values: `disable`, `enable`.\n"
        },
        "portPerUser": {
          "type": "integer",
          "description": "Number of port for each user (32 - 60416, default = 0, which is auto).\n"
        },
        "sourceEndip": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range of the source addresses to be translated (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
        },
        "sourceStartip": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range of the source addresses to be translated (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
        },
        "startip": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
        },
        "startport": {
          "type": "integer",
          "description": "First port number (inclusive) in the range for the address pool (Default: 5117).\n"
        },
        "subnetBroadcastInIppool": {
          "type": "string",
          "description": "Enable/disable inclusion of the subnetwork address and broadcast IP address in the NAT64 IP pool. Valid values: `disable`, `enable`.\n"
        },
        "type": {
          "type": "string",
          "description": "IP pool type. On FortiOS versions 6.2.0-7.4.1: overload, one-to-one, fixed port range, or port block allocation. On FortiOS versions >= 7.4.2: overload, one-to-one, fixed-port-range, port-block-allocation, cgn-resource-allocation (hyperscale vdom only). Valid values: `overload`, `one-to-one`, `fixed-port-range`, `port-block-allocation`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "endip",
        "startip"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ippool resources.\n",
        "properties": {
          "addNat64Route": {
            "type": "string",
            "description": "Enable/disable adding NAT64 route. Valid values: `disable`, `enable`.\n"
          },
          "arpIntf": {
            "type": "string",
            "description": "Select an interface from available options that will reply to ARP requests. (If blank, any is selected).\n"
          },
          "arpReply": {
            "type": "string",
            "description": "Enable/disable replying to ARP requests when an IP Pool is added to a policy (default = enable). Valid values: `disable`, `enable`.\n"
          },
          "associatedInterface": {
            "type": "string",
            "description": "Associated interface name.\n"
          },
          "blockSize": {
            "type": "integer",
            "description": "Number of addresses in a block (64 - 4096, default = 128).\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "endip": {
            "type": "string",
            "description": "Final IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
          },
          "endport": {
            "type": "integer",
            "description": "Final port number (inclusive) in the range for the address pool (Default: 65533).\n"
          },
          "name": {
            "type": "string",
            "description": "IP pool name.\n"
          },
          "nat64": {
            "type": "string",
            "description": "Enable/disable NAT64. Valid values: `disable`, `enable`.\n"
          },
          "numBlocksPerUser": {
            "type": "integer",
            "description": "Number of addresses blocks that can be used by a user (1 to 128, default = 8).\n"
          },
          "pbaInterimLog": {
            "type": "integer",
            "description": "Port block allocation interim logging interval (600 - 86400 seconds, default = 0 which disables interim logging).\n"
          },
          "pbaTimeout": {
            "type": "integer",
            "description": "Port block allocation timeout (seconds).\n"
          },
          "permitAnyHost": {
            "type": "string",
            "description": "Enable/disable full cone NAT. Valid values: `disable`, `enable`.\n"
          },
          "portPerUser": {
            "type": "integer",
            "description": "Number of port for each user (32 - 60416, default = 0, which is auto).\n"
          },
          "sourceEndip": {
            "type": "string",
            "description": "Final IPv4 address (inclusive) in the range of the source addresses to be translated (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
          },
          "sourceStartip": {
            "type": "string",
            "description": "First IPv4 address (inclusive) in the range of the source addresses to be translated (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
          },
          "startip": {
            "type": "string",
            "description": "First IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx, Default: 0.0.0.0).\n"
          },
          "startport": {
            "type": "integer",
            "description": "First port number (inclusive) in the range for the address pool (Default: 5117).\n"
          },
          "subnetBroadcastInIppool": {
            "type": "string",
            "description": "Enable/disable inclusion of the subnetwork address and broadcast IP address in the NAT64 IP pool. Valid values: `disable`, `enable`.\n"
          },
          "type": {
            "type": "string",
            "description": "IP pool type. On FortiOS versions 6.2.0-7.4.1: overload, one-to-one, fixed port range, or port block allocation. On FortiOS versions >= 7.4.2: overload, one-to-one, fixed-port-range, port-block-allocation, cgn-resource-allocation (hyperscale vdom only). Valid values: `overload`, `one-to-one`, `fixed-port-range`, `port-block-allocation`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/iptranslation:Iptranslation": {
      "description": "Configure firewall IP-translation.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Iptranslation(\"trname\", {\n    endip: \"2.2.2.2\",\n    mapStartip: \"0.0.0.0\",\n    startip: \"1.1.1.1\",\n    transid: 1,\n    type: \"SCTP\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Iptranslation(\"trname\",\n    endip=\"2.2.2.2\",\n    map_startip=\"0.0.0.0\",\n    startip=\"1.1.1.1\",\n    transid=1,\n    type=\"SCTP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Iptranslation(\"trname\", new()\n    {\n        Endip = \"2.2.2.2\",\n        MapStartip = \"0.0.0.0\",\n        Startip = \"1.1.1.1\",\n        Transid = 1,\n        Type = \"SCTP\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewIptranslation(ctx, \"trname\", &firewall.IptranslationArgs{\n\t\t\tEndip:      pulumi.String(\"2.2.2.2\"),\n\t\t\tMapStartip: pulumi.String(\"0.0.0.0\"),\n\t\t\tStartip:    pulumi.String(\"1.1.1.1\"),\n\t\t\tTransid:    pulumi.Int(1),\n\t\t\tType:       pulumi.String(\"SCTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Iptranslation;\nimport com.pulumi.fortios.firewall.IptranslationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Iptranslation(\"trname\", IptranslationArgs.builder()\n            .endip(\"2.2.2.2\")\n            .mapStartip(\"0.0.0.0\")\n            .startip(\"1.1.1.1\")\n            .transid(1)\n            .type(\"SCTP\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Iptranslation\n    properties:\n      endip: 2.2.2.2\n      mapStartip: 0.0.0.0\n      startip: 1.1.1.1\n      transid: 1\n      type: SCTP\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall IpTranslation can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/iptranslation:Iptranslation labelname {{transid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/iptranslation:Iptranslation labelname {{transid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "endip": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range of the addresses to be translated (format xxx.xxx.xxx.xxx, default: 0.0.0.0).\n"
        },
        "mapStartip": {
          "type": "string",
          "description": "Address to be used as the starting point for translation in the range (format xxx.xxx.xxx.xxx, default: 0.0.0.0).\n"
        },
        "startip": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range of the addresses to be translated (format xxx.xxx.xxx.xxx, default: 0.0.0.0).\n"
        },
        "transid": {
          "type": "integer",
          "description": "IP translation ID.\n"
        },
        "type": {
          "type": "string",
          "description": "IP translation type (option: SCTP). Valid values: `SCTP`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "endip",
        "mapStartip",
        "startip",
        "transid",
        "type",
        "vdomparam"
      ],
      "inputProperties": {
        "endip": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range of the addresses to be translated (format xxx.xxx.xxx.xxx, default: 0.0.0.0).\n"
        },
        "mapStartip": {
          "type": "string",
          "description": "Address to be used as the starting point for translation in the range (format xxx.xxx.xxx.xxx, default: 0.0.0.0).\n"
        },
        "startip": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range of the addresses to be translated (format xxx.xxx.xxx.xxx, default: 0.0.0.0).\n"
        },
        "transid": {
          "type": "integer",
          "description": "IP translation ID.\n"
        },
        "type": {
          "type": "string",
          "description": "IP translation type (option: SCTP). Valid values: `SCTP`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "endip",
        "mapStartip",
        "startip"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Iptranslation resources.\n",
        "properties": {
          "endip": {
            "type": "string",
            "description": "Final IPv4 address (inclusive) in the range of the addresses to be translated (format xxx.xxx.xxx.xxx, default: 0.0.0.0).\n"
          },
          "mapStartip": {
            "type": "string",
            "description": "Address to be used as the starting point for translation in the range (format xxx.xxx.xxx.xxx, default: 0.0.0.0).\n"
          },
          "startip": {
            "type": "string",
            "description": "First IPv4 address (inclusive) in the range of the addresses to be translated (format xxx.xxx.xxx.xxx, default: 0.0.0.0).\n"
          },
          "transid": {
            "type": "integer",
            "description": "IP translation ID.\n"
          },
          "type": {
            "type": "string",
            "description": "IP translation type (option: SCTP). Valid values: `SCTP`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ipv6ehfilter:Ipv6ehfilter": {
      "description": "Configure IPv6 extension header filter.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Ipv6ehfilter(\"trname\", {\n    auth: \"disable\",\n    destOpt: \"disable\",\n    fragment: \"disable\",\n    hopOpt: \"disable\",\n    noNext: \"disable\",\n    routing: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Ipv6ehfilter(\"trname\",\n    auth=\"disable\",\n    dest_opt=\"disable\",\n    fragment=\"disable\",\n    hop_opt=\"disable\",\n    no_next=\"disable\",\n    routing=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Ipv6ehfilter(\"trname\", new()\n    {\n        Auth = \"disable\",\n        DestOpt = \"disable\",\n        Fragment = \"disable\",\n        HopOpt = \"disable\",\n        NoNext = \"disable\",\n        Routing = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewIpv6ehfilter(ctx, \"trname\", &firewall.Ipv6ehfilterArgs{\n\t\t\tAuth:     pulumi.String(\"disable\"),\n\t\t\tDestOpt:  pulumi.String(\"disable\"),\n\t\t\tFragment: pulumi.String(\"disable\"),\n\t\t\tHopOpt:   pulumi.String(\"disable\"),\n\t\t\tNoNext:   pulumi.String(\"disable\"),\n\t\t\tRouting:  pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Ipv6ehfilter;\nimport com.pulumi.fortios.firewall.Ipv6ehfilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Ipv6ehfilter(\"trname\", Ipv6ehfilterArgs.builder()\n            .auth(\"disable\")\n            .destOpt(\"disable\")\n            .fragment(\"disable\")\n            .hopOpt(\"disable\")\n            .noNext(\"disable\")\n            .routing(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Ipv6ehfilter\n    properties:\n      auth: disable\n      destOpt: disable\n      fragment: disable\n      hopOpt: disable\n      noNext: disable\n      routing: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Ipv6EhFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ipv6ehfilter:Ipv6ehfilter labelname FirewallIpv6EhFilter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ipv6ehfilter:Ipv6ehfilter labelname FirewallIpv6EhFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "auth": {
          "type": "string",
          "description": "Enable/disable blocking packets with the Authentication header (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "destOpt": {
          "type": "string",
          "description": "Enable/disable blocking packets with Destination Options headers (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "fragment": {
          "type": "string",
          "description": "Enable/disable blocking packets with the Fragment header (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "hdoptType": {
          "type": "integer",
          "description": "Block specific Hop-by-Hop and/or Destination Option types (max. 7 types, each between 0 and 255).\n"
        },
        "hopOpt": {
          "type": "string",
          "description": "Enable/disable blocking packets with the Hop-by-Hop Options header (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "noNext": {
          "type": "string",
          "description": "Enable/disable blocking packets with the No Next header (default = disable) Valid values: `enable`, `disable`.\n"
        },
        "routing": {
          "type": "string",
          "description": "Enable/disable blocking packets with Routing headers (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "routingType": {
          "type": "integer",
          "description": "Block specific Routing header types (max. 7 types, each between 0 and 255, default =  0).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "auth",
        "destOpt",
        "fragment",
        "hdoptType",
        "hopOpt",
        "noNext",
        "routing",
        "routingType",
        "vdomparam"
      ],
      "inputProperties": {
        "auth": {
          "type": "string",
          "description": "Enable/disable blocking packets with the Authentication header (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "destOpt": {
          "type": "string",
          "description": "Enable/disable blocking packets with Destination Options headers (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "fragment": {
          "type": "string",
          "description": "Enable/disable blocking packets with the Fragment header (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "hdoptType": {
          "type": "integer",
          "description": "Block specific Hop-by-Hop and/or Destination Option types (max. 7 types, each between 0 and 255).\n"
        },
        "hopOpt": {
          "type": "string",
          "description": "Enable/disable blocking packets with the Hop-by-Hop Options header (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "noNext": {
          "type": "string",
          "description": "Enable/disable blocking packets with the No Next header (default = disable) Valid values: `enable`, `disable`.\n"
        },
        "routing": {
          "type": "string",
          "description": "Enable/disable blocking packets with Routing headers (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "routingType": {
          "type": "integer",
          "description": "Block specific Routing header types (max. 7 types, each between 0 and 255, default =  0).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ipv6ehfilter resources.\n",
        "properties": {
          "auth": {
            "type": "string",
            "description": "Enable/disable blocking packets with the Authentication header (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "destOpt": {
            "type": "string",
            "description": "Enable/disable blocking packets with Destination Options headers (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "fragment": {
            "type": "string",
            "description": "Enable/disable blocking packets with the Fragment header (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "hdoptType": {
            "type": "integer",
            "description": "Block specific Hop-by-Hop and/or Destination Option types (max. 7 types, each between 0 and 255).\n"
          },
          "hopOpt": {
            "type": "string",
            "description": "Enable/disable blocking packets with the Hop-by-Hop Options header (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "noNext": {
            "type": "string",
            "description": "Enable/disable blocking packets with the No Next header (default = disable) Valid values: `enable`, `disable`.\n"
          },
          "routing": {
            "type": "string",
            "description": "Enable/disable blocking packets with Routing headers (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "routingType": {
            "type": "integer",
            "description": "Block specific Routing header types (max. 7 types, each between 0 and 255, default =  0).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ldbmonitor:Ldbmonitor": {
      "description": "Configure server load balancing health monitors.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Ldbmonitor(\"trname\", {\n    httpMaxRedirects: 0,\n    interval: 10,\n    port: 0,\n    retry: 3,\n    timeout: 2,\n    type: \"ping\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Ldbmonitor(\"trname\",\n    http_max_redirects=0,\n    interval=10,\n    port=0,\n    retry=3,\n    timeout=2,\n    type=\"ping\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Ldbmonitor(\"trname\", new()\n    {\n        HttpMaxRedirects = 0,\n        Interval = 10,\n        Port = 0,\n        Retry = 3,\n        Timeout = 2,\n        Type = \"ping\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewLdbmonitor(ctx, \"trname\", &firewall.LdbmonitorArgs{\n\t\t\tHttpMaxRedirects: pulumi.Int(0),\n\t\t\tInterval:         pulumi.Int(10),\n\t\t\tPort:             pulumi.Int(0),\n\t\t\tRetry:            pulumi.Int(3),\n\t\t\tTimeout:          pulumi.Int(2),\n\t\t\tType:             pulumi.String(\"ping\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Ldbmonitor;\nimport com.pulumi.fortios.firewall.LdbmonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Ldbmonitor(\"trname\", LdbmonitorArgs.builder()\n            .httpMaxRedirects(0)\n            .interval(10)\n            .port(0)\n            .retry(3)\n            .timeout(2)\n            .type(\"ping\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Ldbmonitor\n    properties:\n      httpMaxRedirects: 0\n      interval: 10\n      port: 0\n      retry: 3\n      timeout: 2\n      type: ping\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall LdbMonitor can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ldbmonitor:Ldbmonitor labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ldbmonitor:Ldbmonitor labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dnsMatchIp": {
          "type": "string",
          "description": "Response IP expected from DNS server.\n"
        },
        "dnsProtocol": {
          "type": "string",
          "description": "Select the protocol used by the DNS health check monitor to check the health of the server (UDP | TCP). Valid values: `udp`, `tcp`.\n"
        },
        "dnsRequestDomain": {
          "type": "string",
          "description": "Fully qualified domain name to resolve for the DNS probe.\n"
        },
        "httpGet": {
          "type": "string",
          "description": "URL used to send a GET request to check the health of an HTTP server.\n"
        },
        "httpMatch": {
          "type": "string",
          "description": "String to match the value expected in response to an HTTP-GET request.\n"
        },
        "httpMaxRedirects": {
          "type": "integer",
          "description": "The maximum number of HTTP redirects to be allowed (0 - 5, default = 0).\n"
        },
        "interval": {
          "type": "integer",
          "description": "Time between health checks (default = 10). On FortiOS versions 6.2.0-7.0.15: 5 - 65635 sec. On FortiOS versions >= 7.2.0: 5 - 65535 sec.\n"
        },
        "name": {
          "type": "string",
          "description": "Monitor name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Service port used to perform the health check. If 0, health check monitor inherits port configured for the server (default = 0). On FortiOS versions 6.2.0-7.0.15: 0 - 65635. On FortiOS versions >= 7.2.0: 0 - 65535.\n"
        },
        "retry": {
          "type": "integer",
          "description": "Number health check attempts before the server is considered down (1 - 255, default = 3).\n"
        },
        "srcIp": {
          "type": "string",
          "description": "Source IP for ldb-monitor.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Time to wait to receive response to a health check from a server. Reaching the timeout means the health check failed (1 - 255 sec, default = 2).\n"
        },
        "type": {
          "type": "string",
          "description": "Select the Monitor type used by the health check monitor to check the health of the server. On FortiOS versions 6.2.0: PING | TCP | HTTP. On FortiOS versions 6.2.4-7.0.0: PING | TCP | HTTP | HTTPS. On FortiOS versions >= 7.0.1: PING | TCP | HTTP | HTTPS | DNS.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "dnsMatchIp",
        "dnsProtocol",
        "dnsRequestDomain",
        "httpGet",
        "httpMatch",
        "httpMaxRedirects",
        "interval",
        "name",
        "port",
        "retry",
        "srcIp",
        "timeout",
        "type",
        "vdomparam"
      ],
      "inputProperties": {
        "dnsMatchIp": {
          "type": "string",
          "description": "Response IP expected from DNS server.\n"
        },
        "dnsProtocol": {
          "type": "string",
          "description": "Select the protocol used by the DNS health check monitor to check the health of the server (UDP | TCP). Valid values: `udp`, `tcp`.\n"
        },
        "dnsRequestDomain": {
          "type": "string",
          "description": "Fully qualified domain name to resolve for the DNS probe.\n"
        },
        "httpGet": {
          "type": "string",
          "description": "URL used to send a GET request to check the health of an HTTP server.\n"
        },
        "httpMatch": {
          "type": "string",
          "description": "String to match the value expected in response to an HTTP-GET request.\n"
        },
        "httpMaxRedirects": {
          "type": "integer",
          "description": "The maximum number of HTTP redirects to be allowed (0 - 5, default = 0).\n"
        },
        "interval": {
          "type": "integer",
          "description": "Time between health checks (default = 10). On FortiOS versions 6.2.0-7.0.15: 5 - 65635 sec. On FortiOS versions >= 7.2.0: 5 - 65535 sec.\n"
        },
        "name": {
          "type": "string",
          "description": "Monitor name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Service port used to perform the health check. If 0, health check monitor inherits port configured for the server (default = 0). On FortiOS versions 6.2.0-7.0.15: 0 - 65635. On FortiOS versions >= 7.2.0: 0 - 65535.\n"
        },
        "retry": {
          "type": "integer",
          "description": "Number health check attempts before the server is considered down (1 - 255, default = 3).\n"
        },
        "srcIp": {
          "type": "string",
          "description": "Source IP for ldb-monitor.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Time to wait to receive response to a health check from a server. Reaching the timeout means the health check failed (1 - 255 sec, default = 2).\n"
        },
        "type": {
          "type": "string",
          "description": "Select the Monitor type used by the health check monitor to check the health of the server. On FortiOS versions 6.2.0: PING | TCP | HTTP. On FortiOS versions 6.2.4-7.0.0: PING | TCP | HTTP | HTTPS. On FortiOS versions >= 7.0.1: PING | TCP | HTTP | HTTPS | DNS.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ldbmonitor resources.\n",
        "properties": {
          "dnsMatchIp": {
            "type": "string",
            "description": "Response IP expected from DNS server.\n"
          },
          "dnsProtocol": {
            "type": "string",
            "description": "Select the protocol used by the DNS health check monitor to check the health of the server (UDP | TCP). Valid values: `udp`, `tcp`.\n"
          },
          "dnsRequestDomain": {
            "type": "string",
            "description": "Fully qualified domain name to resolve for the DNS probe.\n"
          },
          "httpGet": {
            "type": "string",
            "description": "URL used to send a GET request to check the health of an HTTP server.\n"
          },
          "httpMatch": {
            "type": "string",
            "description": "String to match the value expected in response to an HTTP-GET request.\n"
          },
          "httpMaxRedirects": {
            "type": "integer",
            "description": "The maximum number of HTTP redirects to be allowed (0 - 5, default = 0).\n"
          },
          "interval": {
            "type": "integer",
            "description": "Time between health checks (default = 10). On FortiOS versions 6.2.0-7.0.15: 5 - 65635 sec. On FortiOS versions >= 7.2.0: 5 - 65535 sec.\n"
          },
          "name": {
            "type": "string",
            "description": "Monitor name.\n"
          },
          "port": {
            "type": "integer",
            "description": "Service port used to perform the health check. If 0, health check monitor inherits port configured for the server (default = 0). On FortiOS versions 6.2.0-7.0.15: 0 - 65635. On FortiOS versions >= 7.2.0: 0 - 65535.\n"
          },
          "retry": {
            "type": "integer",
            "description": "Number health check attempts before the server is considered down (1 - 255, default = 3).\n"
          },
          "srcIp": {
            "type": "string",
            "description": "Source IP for ldb-monitor.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "Time to wait to receive response to a health check from a server. Reaching the timeout means the health check failed (1 - 255 sec, default = 2).\n"
          },
          "type": {
            "type": "string",
            "description": "Select the Monitor type used by the health check monitor to check the health of the server. On FortiOS versions 6.2.0: PING | TCP | HTTP. On FortiOS versions 6.2.4-7.0.0: PING | TCP | HTTP | HTTPS. On FortiOS versions >= 7.0.1: PING | TCP | HTTP | HTTPS | DNS.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/localinpolicy6:Localinpolicy6": {
      "description": "Configure user defined IPv6 local-in policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Localinpolicy6(\"trname\", {\n    action: \"accept\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    intf: \"port4\",\n    policyid: 1,\n    schedule: \"always\",\n    services: [{\n        name: \"ALL\",\n    }],\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Localinpolicy6(\"trname\",\n    action=\"accept\",\n    dstaddrs=[fortios.firewall.Localinpolicy6DstaddrArgs(\n        name=\"all\",\n    )],\n    intf=\"port4\",\n    policyid=1,\n    schedule=\"always\",\n    services=[fortios.firewall.Localinpolicy6ServiceArgs(\n        name=\"ALL\",\n    )],\n    srcaddrs=[fortios.firewall.Localinpolicy6SrcaddrArgs(\n        name=\"all\",\n    )],\n    status=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Localinpolicy6(\"trname\", new()\n    {\n        Action = \"accept\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.Localinpolicy6DstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Intf = \"port4\",\n        Policyid = 1,\n        Schedule = \"always\",\n        Services = new[]\n        {\n            new Fortios.Firewall.Inputs.Localinpolicy6ServiceArgs\n            {\n                Name = \"ALL\",\n            },\n        },\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.Localinpolicy6SrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Status = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewLocalinpolicy6(ctx, \"trname\", &firewall.Localinpolicy6Args{\n\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\tDstaddrs: firewall.Localinpolicy6DstaddrArray{\n\t\t\t\t&firewall.Localinpolicy6DstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIntf:     pulumi.String(\"port4\"),\n\t\t\tPolicyid: pulumi.Int(1),\n\t\t\tSchedule: pulumi.String(\"always\"),\n\t\t\tServices: firewall.Localinpolicy6ServiceArray{\n\t\t\t\t&firewall.Localinpolicy6ServiceArgs{\n\t\t\t\t\tName: pulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcaddrs: firewall.Localinpolicy6SrcaddrArray{\n\t\t\t\t&firewall.Localinpolicy6SrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Localinpolicy6;\nimport com.pulumi.fortios.firewall.Localinpolicy6Args;\nimport com.pulumi.fortios.firewall.inputs.Localinpolicy6DstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.Localinpolicy6ServiceArgs;\nimport com.pulumi.fortios.firewall.inputs.Localinpolicy6SrcaddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Localinpolicy6(\"trname\", Localinpolicy6Args.builder()\n            .action(\"accept\")\n            .dstaddrs(Localinpolicy6DstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .intf(\"port4\")\n            .policyid(1)\n            .schedule(\"always\")\n            .services(Localinpolicy6ServiceArgs.builder()\n                .name(\"ALL\")\n                .build())\n            .srcaddrs(Localinpolicy6SrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Localinpolicy6\n    properties:\n      action: accept\n      dstaddrs:\n        - name: all\n      intf: port4\n      policyid: 1\n      schedule: always\n      services:\n        - name: ALL\n      srcaddrs:\n        - name: all\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall LocalInPolicy6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/localinpolicy6:Localinpolicy6 labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/localinpolicy6:Localinpolicy6 labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Action performed on traffic matching the policy (default = deny). Valid values: `accept`, `deny`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6Dstaddr:Localinpolicy6Dstaddr"
          },
          "description": "Destination address object from available options. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "internetService6Src": {
          "type": "string",
          "description": "Enable/disable use of IPv6 Internet Services in source for this local-in policy.If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6SrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcCustomGroup:Localinpolicy6InternetService6SrcCustomGroup"
          },
          "description": "Custom Internet Service6 source group name. The structure of `internet_service6_src_custom_group` block is documented below.\n"
        },
        "internetService6SrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcCustom:Localinpolicy6InternetService6SrcCustom"
          },
          "description": "Custom IPv6 Internet Service source name. The structure of `internet_service6_src_custom` block is documented below.\n"
        },
        "internetService6SrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcGroup:Localinpolicy6InternetService6SrcGroup"
          },
          "description": "Internet Service6 source group name. The structure of `internet_service6_src_group` block is documented below.\n"
        },
        "internetService6SrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcName:Localinpolicy6InternetService6SrcName"
          },
          "description": "IPv6 Internet Service source name. The structure of `internet_service6_src_name` block is documented below.\n"
        },
        "internetService6SrcNegate": {
          "type": "string",
          "description": "When enabled internet-service6-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "intf": {
          "type": "string",
          "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf_block`.*\n"
        },
        "intfBlocks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6IntfBlock:Localinpolicy6IntfBlock"
          },
          "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf`.* The structure of `intf_block` block is documented below.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "User defined local in policy ID.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule object from available options.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6Service:Localinpolicy6Service"
          },
          "description": "Service object from available options. Separate names with a space. The structure of `service` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6Srcaddr:Localinpolicy6Srcaddr"
          },
          "description": "Source address object from available options. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this local-in policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "virtualPatch": {
          "type": "string",
          "description": "Enable/disable the virtual patching feature. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "dstaddrNegate",
        "dstaddrs",
        "internetService6Src",
        "internetService6SrcNegate",
        "intf",
        "policyid",
        "schedule",
        "serviceNegate",
        "services",
        "srcaddrNegate",
        "srcaddrs",
        "status",
        "uuid",
        "vdomparam",
        "virtualPatch"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Action performed on traffic matching the policy (default = deny). Valid values: `accept`, `deny`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6Dstaddr:Localinpolicy6Dstaddr"
          },
          "description": "Destination address object from available options. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "internetService6Src": {
          "type": "string",
          "description": "Enable/disable use of IPv6 Internet Services in source for this local-in policy.If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6SrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcCustomGroup:Localinpolicy6InternetService6SrcCustomGroup"
          },
          "description": "Custom Internet Service6 source group name. The structure of `internet_service6_src_custom_group` block is documented below.\n"
        },
        "internetService6SrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcCustom:Localinpolicy6InternetService6SrcCustom"
          },
          "description": "Custom IPv6 Internet Service source name. The structure of `internet_service6_src_custom` block is documented below.\n"
        },
        "internetService6SrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcGroup:Localinpolicy6InternetService6SrcGroup"
          },
          "description": "Internet Service6 source group name. The structure of `internet_service6_src_group` block is documented below.\n"
        },
        "internetService6SrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcName:Localinpolicy6InternetService6SrcName"
          },
          "description": "IPv6 Internet Service source name. The structure of `internet_service6_src_name` block is documented below.\n"
        },
        "internetService6SrcNegate": {
          "type": "string",
          "description": "When enabled internet-service6-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "intf": {
          "type": "string",
          "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf_block`.*\n"
        },
        "intfBlocks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6IntfBlock:Localinpolicy6IntfBlock"
          },
          "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf`.* The structure of `intf_block` block is documented below.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "User defined local in policy ID.\n",
          "willReplaceOnChanges": true
        },
        "schedule": {
          "type": "string",
          "description": "Schedule object from available options.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6Service:Localinpolicy6Service"
          },
          "description": "Service object from available options. Separate names with a space. The structure of `service` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicy6Srcaddr:Localinpolicy6Srcaddr"
          },
          "description": "Source address object from available options. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this local-in policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "virtualPatch": {
          "type": "string",
          "description": "Enable/disable the virtual patching feature. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "schedule",
        "services",
        "srcaddrs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Localinpolicy6 resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Action performed on traffic matching the policy (default = deny). Valid values: `accept`, `deny`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dstaddrNegate": {
            "type": "string",
            "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicy6Dstaddr:Localinpolicy6Dstaddr"
            },
            "description": "Destination address object from available options. The structure of `dstaddr` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "internetService6Src": {
            "type": "string",
            "description": "Enable/disable use of IPv6 Internet Services in source for this local-in policy.If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
          },
          "internetService6SrcCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcCustomGroup:Localinpolicy6InternetService6SrcCustomGroup"
            },
            "description": "Custom Internet Service6 source group name. The structure of `internet_service6_src_custom_group` block is documented below.\n"
          },
          "internetService6SrcCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcCustom:Localinpolicy6InternetService6SrcCustom"
            },
            "description": "Custom IPv6 Internet Service source name. The structure of `internet_service6_src_custom` block is documented below.\n"
          },
          "internetService6SrcGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcGroup:Localinpolicy6InternetService6SrcGroup"
            },
            "description": "Internet Service6 source group name. The structure of `internet_service6_src_group` block is documented below.\n"
          },
          "internetService6SrcNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicy6InternetService6SrcName:Localinpolicy6InternetService6SrcName"
            },
            "description": "IPv6 Internet Service source name. The structure of `internet_service6_src_name` block is documented below.\n"
          },
          "internetService6SrcNegate": {
            "type": "string",
            "description": "When enabled internet-service6-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "intf": {
            "type": "string",
            "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf_block`.*\n"
          },
          "intfBlocks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicy6IntfBlock:Localinpolicy6IntfBlock"
            },
            "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf`.* The structure of `intf_block` block is documented below.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "User defined local in policy ID.\n",
            "willReplaceOnChanges": true
          },
          "schedule": {
            "type": "string",
            "description": "Schedule object from available options.\n"
          },
          "serviceNegate": {
            "type": "string",
            "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicy6Service:Localinpolicy6Service"
            },
            "description": "Service object from available options. Separate names with a space. The structure of `service` block is documented below.\n"
          },
          "srcaddrNegate": {
            "type": "string",
            "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicy6Srcaddr:Localinpolicy6Srcaddr"
            },
            "description": "Source address object from available options. The structure of `srcaddr` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this local-in policy. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "virtualPatch": {
            "type": "string",
            "description": "Enable/disable the virtual patching feature. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/localinpolicy:Localinpolicy": {
      "description": "Configure user defined IPv4 local-in policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Localinpolicy(\"trname\", {\n    action: \"accept\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    haMgmtIntfOnly: \"disable\",\n    intf: \"port4\",\n    policyid: 1,\n    schedule: \"always\",\n    services: [{\n        name: \"ALL\",\n    }],\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Localinpolicy(\"trname\",\n    action=\"accept\",\n    dstaddrs=[fortios.firewall.LocalinpolicyDstaddrArgs(\n        name=\"all\",\n    )],\n    ha_mgmt_intf_only=\"disable\",\n    intf=\"port4\",\n    policyid=1,\n    schedule=\"always\",\n    services=[fortios.firewall.LocalinpolicyServiceArgs(\n        name=\"ALL\",\n    )],\n    srcaddrs=[fortios.firewall.LocalinpolicySrcaddrArgs(\n        name=\"all\",\n    )],\n    status=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Localinpolicy(\"trname\", new()\n    {\n        Action = \"accept\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.LocalinpolicyDstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        HaMgmtIntfOnly = \"disable\",\n        Intf = \"port4\",\n        Policyid = 1,\n        Schedule = \"always\",\n        Services = new[]\n        {\n            new Fortios.Firewall.Inputs.LocalinpolicyServiceArgs\n            {\n                Name = \"ALL\",\n            },\n        },\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.LocalinpolicySrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Status = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewLocalinpolicy(ctx, \"trname\", &firewall.LocalinpolicyArgs{\n\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\tDstaddrs: firewall.LocalinpolicyDstaddrArray{\n\t\t\t\t&firewall.LocalinpolicyDstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHaMgmtIntfOnly: pulumi.String(\"disable\"),\n\t\t\tIntf:           pulumi.String(\"port4\"),\n\t\t\tPolicyid:       pulumi.Int(1),\n\t\t\tSchedule:       pulumi.String(\"always\"),\n\t\t\tServices: firewall.LocalinpolicyServiceArray{\n\t\t\t\t&firewall.LocalinpolicyServiceArgs{\n\t\t\t\t\tName: pulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcaddrs: firewall.LocalinpolicySrcaddrArray{\n\t\t\t\t&firewall.LocalinpolicySrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Localinpolicy;\nimport com.pulumi.fortios.firewall.LocalinpolicyArgs;\nimport com.pulumi.fortios.firewall.inputs.LocalinpolicyDstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.LocalinpolicyServiceArgs;\nimport com.pulumi.fortios.firewall.inputs.LocalinpolicySrcaddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Localinpolicy(\"trname\", LocalinpolicyArgs.builder()\n            .action(\"accept\")\n            .dstaddrs(LocalinpolicyDstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .haMgmtIntfOnly(\"disable\")\n            .intf(\"port4\")\n            .policyid(1)\n            .schedule(\"always\")\n            .services(LocalinpolicyServiceArgs.builder()\n                .name(\"ALL\")\n                .build())\n            .srcaddrs(LocalinpolicySrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Localinpolicy\n    properties:\n      action: accept\n      dstaddrs:\n        - name: all\n      haMgmtIntfOnly: disable\n      intf: port4\n      policyid: 1\n      schedule: always\n      services:\n        - name: ALL\n      srcaddrs:\n        - name: all\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall LocalInPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/localinpolicy:Localinpolicy labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/localinpolicy:Localinpolicy labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Action performed on traffic matching the policy (default = deny). Valid values: `accept`, `deny`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyDstaddr:LocalinpolicyDstaddr"
          },
          "description": "Destination address object from available options. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "haMgmtIntfOnly": {
          "type": "string",
          "description": "Enable/disable dedicating the HA management interface only for local-in policy. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Internet Services in source for this local-in policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcCustomGroup:LocalinpolicyInternetServiceSrcCustomGroup"
          },
          "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
        },
        "internetServiceSrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcCustom:LocalinpolicyInternetServiceSrcCustom"
          },
          "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
        },
        "internetServiceSrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcGroup:LocalinpolicyInternetServiceSrcGroup"
          },
          "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcName:LocalinpolicyInternetServiceSrcName"
          },
          "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
        },
        "internetServiceSrcNegate": {
          "type": "string",
          "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "intf": {
          "type": "string",
          "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf_block`.*\n"
        },
        "intfBlocks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyIntfBlock:LocalinpolicyIntfBlock"
          },
          "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf`.* The structure of `intf_block` block is documented below.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "User defined local in policy ID.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule object from available options.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyService:LocalinpolicyService"
          },
          "description": "Service object from available options. The structure of `service` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicySrcaddr:LocalinpolicySrcaddr"
          },
          "description": "Source address object from available options. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this local-in policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "virtualPatch": {
          "type": "string",
          "description": "Enable/disable virtual patching. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "dstaddrNegate",
        "dstaddrs",
        "haMgmtIntfOnly",
        "internetServiceSrc",
        "internetServiceSrcNegate",
        "intf",
        "policyid",
        "schedule",
        "serviceNegate",
        "srcaddrNegate",
        "srcaddrs",
        "status",
        "uuid",
        "vdomparam",
        "virtualPatch"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Action performed on traffic matching the policy (default = deny). Valid values: `accept`, `deny`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyDstaddr:LocalinpolicyDstaddr"
          },
          "description": "Destination address object from available options. The structure of `dstaddr` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "haMgmtIntfOnly": {
          "type": "string",
          "description": "Enable/disable dedicating the HA management interface only for local-in policy. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Internet Services in source for this local-in policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcCustomGroup:LocalinpolicyInternetServiceSrcCustomGroup"
          },
          "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
        },
        "internetServiceSrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcCustom:LocalinpolicyInternetServiceSrcCustom"
          },
          "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
        },
        "internetServiceSrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcGroup:LocalinpolicyInternetServiceSrcGroup"
          },
          "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcName:LocalinpolicyInternetServiceSrcName"
          },
          "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
        },
        "internetServiceSrcNegate": {
          "type": "string",
          "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "intf": {
          "type": "string",
          "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf_block`.*\n"
        },
        "intfBlocks": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyIntfBlock:LocalinpolicyIntfBlock"
          },
          "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf`.* The structure of `intf_block` block is documented below.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "User defined local in policy ID.\n",
          "willReplaceOnChanges": true
        },
        "schedule": {
          "type": "string",
          "description": "Schedule object from available options.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicyService:LocalinpolicyService"
          },
          "description": "Service object from available options. The structure of `service` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FLocalinpolicySrcaddr:LocalinpolicySrcaddr"
          },
          "description": "Source address object from available options. The structure of `srcaddr` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this local-in policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "virtualPatch": {
          "type": "string",
          "description": "Enable/disable virtual patching. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "schedule",
        "srcaddrs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Localinpolicy resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Action performed on traffic matching the policy (default = deny). Valid values: `accept`, `deny`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dstaddrNegate": {
            "type": "string",
            "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicyDstaddr:LocalinpolicyDstaddr"
            },
            "description": "Destination address object from available options. The structure of `dstaddr` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "haMgmtIntfOnly": {
            "type": "string",
            "description": "Enable/disable dedicating the HA management interface only for local-in policy. Valid values: `enable`, `disable`.\n"
          },
          "internetServiceSrc": {
            "type": "string",
            "description": "Enable/disable use of Internet Services in source for this local-in policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
          },
          "internetServiceSrcCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcCustomGroup:LocalinpolicyInternetServiceSrcCustomGroup"
            },
            "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
          },
          "internetServiceSrcCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcCustom:LocalinpolicyInternetServiceSrcCustom"
            },
            "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
          },
          "internetServiceSrcGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcGroup:LocalinpolicyInternetServiceSrcGroup"
            },
            "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
          },
          "internetServiceSrcNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicyInternetServiceSrcName:LocalinpolicyInternetServiceSrcName"
            },
            "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
          },
          "internetServiceSrcNegate": {
            "type": "string",
            "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "intf": {
            "type": "string",
            "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf_block`.*\n"
          },
          "intfBlocks": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicyIntfBlock:LocalinpolicyIntfBlock"
            },
            "description": "Incoming interface name from available options. *Due to the data type change of API, for other versions of FortiOS, please check variable `intf`.* The structure of `intf_block` block is documented below.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "User defined local in policy ID.\n",
            "willReplaceOnChanges": true
          },
          "schedule": {
            "type": "string",
            "description": "Schedule object from available options.\n"
          },
          "serviceNegate": {
            "type": "string",
            "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicyService:LocalinpolicyService"
            },
            "description": "Service object from available options. The structure of `service` block is documented below.\n"
          },
          "srcaddrNegate": {
            "type": "string",
            "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FLocalinpolicySrcaddr:LocalinpolicySrcaddr"
            },
            "description": "Source address object from available options. The structure of `srcaddr` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this local-in policy. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "virtualPatch": {
            "type": "string",
            "description": "Enable/disable virtual patching. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/multicastaddress6:Multicastaddress6": {
      "description": "Configure IPv6 multicast address.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Multicastaddress6(\"trname\", {\n    color: 0,\n    ip6: \"ff02::1:ff0e:8c6c/128\",\n    visibility: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Multicastaddress6(\"trname\",\n    color=0,\n    ip6=\"ff02::1:ff0e:8c6c/128\",\n    visibility=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Multicastaddress6(\"trname\", new()\n    {\n        Color = 0,\n        Ip6 = \"ff02::1:ff0e:8c6c/128\",\n        Visibility = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewMulticastaddress6(ctx, \"trname\", &firewall.Multicastaddress6Args{\n\t\t\tColor:      pulumi.Int(0),\n\t\t\tIp6:        pulumi.String(\"ff02::1:ff0e:8c6c/128\"),\n\t\t\tVisibility: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Multicastaddress6;\nimport com.pulumi.fortios.firewall.Multicastaddress6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Multicastaddress6(\"trname\", Multicastaddress6Args.builder()\n            .color(0)\n            .ip6(\"ff02::1:ff0e:8c6c/128\")\n            .visibility(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Multicastaddress6\n    properties:\n      color: 0\n      ip6: ff02::1:ff0e:8c6c/128\n      visibility: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall MulticastAddress6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/multicastaddress6:Multicastaddress6 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/multicastaddress6:Multicastaddress6 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address prefix (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx).\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 multicast address name.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastaddress6Tagging:Multicastaddress6Tagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable visibility of the IPv6 multicast address on the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "ip6",
        "name",
        "vdomparam",
        "visibility"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ip6": {
          "type": "string",
          "description": "IPv6 address prefix (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx).\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 multicast address name.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastaddress6Tagging:Multicastaddress6Tagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable visibility of the IPv6 multicast address on the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "ip6"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Multicastaddress6 resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ip6": {
            "type": "string",
            "description": "IPv6 address prefix (format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx).\n"
          },
          "name": {
            "type": "string",
            "description": "IPv6 multicast address name.\n"
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FMulticastaddress6Tagging:Multicastaddress6Tagging"
            },
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable visibility of the IPv6 multicast address on the GUI. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/multicastaddress:Multicastaddress": {
      "description": "Configure multicast addresses.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Multicastaddress(\"trname\", {\n    color: 0,\n    endIp: \"224.0.0.22\",\n    startIp: \"224.0.0.11\",\n    subnet: \"224.0.0.11 224.0.0.22\",\n    type: \"multicastrange\",\n    visibility: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Multicastaddress(\"trname\",\n    color=0,\n    end_ip=\"224.0.0.22\",\n    start_ip=\"224.0.0.11\",\n    subnet=\"224.0.0.11 224.0.0.22\",\n    type=\"multicastrange\",\n    visibility=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Multicastaddress(\"trname\", new()\n    {\n        Color = 0,\n        EndIp = \"224.0.0.22\",\n        StartIp = \"224.0.0.11\",\n        Subnet = \"224.0.0.11 224.0.0.22\",\n        Type = \"multicastrange\",\n        Visibility = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewMulticastaddress(ctx, \"trname\", &firewall.MulticastaddressArgs{\n\t\t\tColor:      pulumi.Int(0),\n\t\t\tEndIp:      pulumi.String(\"224.0.0.22\"),\n\t\t\tStartIp:    pulumi.String(\"224.0.0.11\"),\n\t\t\tSubnet:     pulumi.String(\"224.0.0.11 224.0.0.22\"),\n\t\t\tType:       pulumi.String(\"multicastrange\"),\n\t\t\tVisibility: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Multicastaddress;\nimport com.pulumi.fortios.firewall.MulticastaddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Multicastaddress(\"trname\", MulticastaddressArgs.builder()\n            .color(0)\n            .endIp(\"224.0.0.22\")\n            .startIp(\"224.0.0.11\")\n            .subnet(\"224.0.0.11 224.0.0.22\")\n            .type(\"multicastrange\")\n            .visibility(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Multicastaddress\n    properties:\n      color: 0\n      endIp: 224.0.0.22\n      startIp: 224.0.0.11\n      subnet: 224.0.0.11 224.0.0.22\n      type: multicastrange\n      visibility: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall MulticastAddress can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/multicastaddress:Multicastaddress labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/multicastaddress:Multicastaddress labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "associatedInterface": {
          "type": "string",
          "description": "Interface associated with the address object. When setting up a policy, only addresses associated with this interface are available.\n"
        },
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "endIp": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range for the address.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Multicast address name.\n"
        },
        "startIp": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range for the address.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Broadcast address and subnet.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastaddressTagging:MulticastaddressTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of address object: multicast IP address range or broadcast IP/mask to be treated as a multicast address. Valid values: `multicastrange`, `broadcastmask`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable visibility of the multicast address on the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "associatedInterface",
        "color",
        "endIp",
        "name",
        "startIp",
        "subnet",
        "type",
        "vdomparam",
        "visibility"
      ],
      "inputProperties": {
        "associatedInterface": {
          "type": "string",
          "description": "Interface associated with the address object. When setting up a policy, only addresses associated with this interface are available.\n"
        },
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "endIp": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range for the address.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Multicast address name.\n"
        },
        "startIp": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range for the address.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Broadcast address and subnet.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastaddressTagging:MulticastaddressTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of address object: multicast IP address range or broadcast IP/mask to be treated as a multicast address. Valid values: `multicastrange`, `broadcastmask`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable visibility of the multicast address on the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Multicastaddress resources.\n",
        "properties": {
          "associatedInterface": {
            "type": "string",
            "description": "Interface associated with the address object. When setting up a policy, only addresses associated with this interface are available.\n"
          },
          "color": {
            "type": "integer",
            "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "endIp": {
            "type": "string",
            "description": "Final IPv4 address (inclusive) in the range for the address.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Multicast address name.\n"
          },
          "startIp": {
            "type": "string",
            "description": "First IPv4 address (inclusive) in the range for the address.\n"
          },
          "subnet": {
            "type": "string",
            "description": "Broadcast address and subnet.\n"
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FMulticastaddressTagging:MulticastaddressTagging"
            },
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "Type of address object: multicast IP address range or broadcast IP/mask to be treated as a multicast address. Valid values: `multicastrange`, `broadcastmask`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable visibility of the multicast address on the GUI. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/multicastpolicy6:Multicastpolicy6": {
      "description": "Configure IPv6 multicast NAT policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Multicastpolicy6(\"trname\", {\n    action: \"accept\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    dstintf: \"port4\",\n    endPort: 65535,\n    fosid: 1,\n    logtraffic: \"disable\",\n    protocol: 0,\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    srcintf: \"port3\",\n    startPort: 1,\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Multicastpolicy6(\"trname\",\n    action=\"accept\",\n    dstaddrs=[fortios.firewall.Multicastpolicy6DstaddrArgs(\n        name=\"all\",\n    )],\n    dstintf=\"port4\",\n    end_port=65535,\n    fosid=1,\n    logtraffic=\"disable\",\n    protocol=0,\n    srcaddrs=[fortios.firewall.Multicastpolicy6SrcaddrArgs(\n        name=\"all\",\n    )],\n    srcintf=\"port3\",\n    start_port=1,\n    status=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Multicastpolicy6(\"trname\", new()\n    {\n        Action = \"accept\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.Multicastpolicy6DstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Dstintf = \"port4\",\n        EndPort = 65535,\n        Fosid = 1,\n        Logtraffic = \"disable\",\n        Protocol = 0,\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.Multicastpolicy6SrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Srcintf = \"port3\",\n        StartPort = 1,\n        Status = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewMulticastpolicy6(ctx, \"trname\", &firewall.Multicastpolicy6Args{\n\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\tDstaddrs: firewall.Multicastpolicy6DstaddrArray{\n\t\t\t\t&firewall.Multicastpolicy6DstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDstintf:    pulumi.String(\"port4\"),\n\t\t\tEndPort:    pulumi.Int(65535),\n\t\t\tFosid:      pulumi.Int(1),\n\t\t\tLogtraffic: pulumi.String(\"disable\"),\n\t\t\tProtocol:   pulumi.Int(0),\n\t\t\tSrcaddrs: firewall.Multicastpolicy6SrcaddrArray{\n\t\t\t\t&firewall.Multicastpolicy6SrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcintf:   pulumi.String(\"port3\"),\n\t\t\tStartPort: pulumi.Int(1),\n\t\t\tStatus:    pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Multicastpolicy6;\nimport com.pulumi.fortios.firewall.Multicastpolicy6Args;\nimport com.pulumi.fortios.firewall.inputs.Multicastpolicy6DstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.Multicastpolicy6SrcaddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Multicastpolicy6(\"trname\", Multicastpolicy6Args.builder()\n            .action(\"accept\")\n            .dstaddrs(Multicastpolicy6DstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .dstintf(\"port4\")\n            .endPort(65535)\n            .fosid(1)\n            .logtraffic(\"disable\")\n            .protocol(0)\n            .srcaddrs(Multicastpolicy6SrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .srcintf(\"port3\")\n            .startPort(1)\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Multicastpolicy6\n    properties:\n      action: accept\n      dstaddrs:\n        - name: all\n      dstintf: port4\n      endPort: 65535\n      fosid: 1\n      logtraffic: disable\n      protocol: 0\n      srcaddrs:\n        - name: all\n      srcintf: port3\n      startPort: 1\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall MulticastPolicy6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/multicastpolicy6:Multicastpolicy6 labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/multicastpolicy6:Multicastpolicy6 labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Accept or deny traffic matching the policy. Valid values: `accept`, `deny`.\n"
        },
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable offloading policy traffic for hardware acceleration. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastpolicy6Dstaddr:Multicastpolicy6Dstaddr"
          },
          "description": "IPv6 destination address name. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "IPv6 destination interface name.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "endPort": {
          "type": "integer",
          "description": "Integer value for ending TCP/UDP/SCTP destination port in range (1 - 65535, default = 65535).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable/disable logging traffic accepted by this policy.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255, default = 0).\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastpolicy6Srcaddr:Multicastpolicy6Srcaddr"
          },
          "description": "IPv6 source address name. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "IPv6 source interface name.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Integer value for starting TCP/UDP/SCTP destination port in range (1 - 65535, default = 1).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable to add an IPS security profile to the policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "autoAsicOffload",
        "dstaddrs",
        "dstintf",
        "endPort",
        "fosid",
        "ipsSensor",
        "logtraffic",
        "name",
        "protocol",
        "srcaddrs",
        "srcintf",
        "startPort",
        "status",
        "utmStatus",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Accept or deny traffic matching the policy. Valid values: `accept`, `deny`.\n"
        },
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable offloading policy traffic for hardware acceleration. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastpolicy6Dstaddr:Multicastpolicy6Dstaddr"
          },
          "description": "IPv6 destination address name. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "IPv6 destination interface name.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "endPort": {
          "type": "integer",
          "description": "Integer value for ending TCP/UDP/SCTP destination port in range (1 - 65535, default = 65535).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable/disable logging traffic accepted by this policy.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255, default = 0).\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastpolicy6Srcaddr:Multicastpolicy6Srcaddr"
          },
          "description": "IPv6 source address name. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "IPv6 source interface name.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Integer value for starting TCP/UDP/SCTP destination port in range (1 - 65535, default = 1).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable to add an IPS security profile to the policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "dstintf",
        "srcaddrs",
        "srcintf"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Multicastpolicy6 resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Accept or deny traffic matching the policy. Valid values: `accept`, `deny`.\n"
          },
          "autoAsicOffload": {
            "type": "string",
            "description": "Enable/disable offloading policy traffic for hardware acceleration. Valid values: `enable`, `disable`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FMulticastpolicy6Dstaddr:Multicastpolicy6Dstaddr"
            },
            "description": "IPv6 destination address name. The structure of `dstaddr` block is documented below.\n"
          },
          "dstintf": {
            "type": "string",
            "description": "IPv6 destination interface name.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "endPort": {
            "type": "integer",
            "description": "Integer value for ending TCP/UDP/SCTP destination port in range (1 - 65535, default = 65535).\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "Name of an existing IPS sensor.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Enable/disable logging traffic accepted by this policy.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "protocol": {
            "type": "integer",
            "description": "Integer value for the protocol type as defined by IANA (0 - 255, default = 0).\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FMulticastpolicy6Srcaddr:Multicastpolicy6Srcaddr"
            },
            "description": "IPv6 source address name. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintf": {
            "type": "string",
            "description": "IPv6 source interface name.\n"
          },
          "startPort": {
            "type": "integer",
            "description": "Integer value for starting TCP/UDP/SCTP destination port in range (1 - 65535, default = 1).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "utmStatus": {
            "type": "string",
            "description": "Enable to add an IPS security profile to the policy. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/multicastpolicy:Multicastpolicy": {
      "description": "Configure multicast NAT policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Multicastpolicy(\"trname\", {\n    action: \"accept\",\n    dnat: \"0.0.0.0\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    dstintf: \"port4\",\n    endPort: 65535,\n    fosid: 1,\n    logtraffic: \"enable\",\n    protocol: 0,\n    snat: \"disable\",\n    snatIp: \"0.0.0.0\",\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    srcintf: \"port3\",\n    startPort: 1,\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Multicastpolicy(\"trname\",\n    action=\"accept\",\n    dnat=\"0.0.0.0\",\n    dstaddrs=[fortios.firewall.MulticastpolicyDstaddrArgs(\n        name=\"all\",\n    )],\n    dstintf=\"port4\",\n    end_port=65535,\n    fosid=1,\n    logtraffic=\"enable\",\n    protocol=0,\n    snat=\"disable\",\n    snat_ip=\"0.0.0.0\",\n    srcaddrs=[fortios.firewall.MulticastpolicySrcaddrArgs(\n        name=\"all\",\n    )],\n    srcintf=\"port3\",\n    start_port=1,\n    status=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Multicastpolicy(\"trname\", new()\n    {\n        Action = \"accept\",\n        Dnat = \"0.0.0.0\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.MulticastpolicyDstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Dstintf = \"port4\",\n        EndPort = 65535,\n        Fosid = 1,\n        Logtraffic = \"enable\",\n        Protocol = 0,\n        Snat = \"disable\",\n        SnatIp = \"0.0.0.0\",\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.MulticastpolicySrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Srcintf = \"port3\",\n        StartPort = 1,\n        Status = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewMulticastpolicy(ctx, \"trname\", &firewall.MulticastpolicyArgs{\n\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\tDnat:   pulumi.String(\"0.0.0.0\"),\n\t\t\tDstaddrs: firewall.MulticastpolicyDstaddrArray{\n\t\t\t\t&firewall.MulticastpolicyDstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDstintf:    pulumi.String(\"port4\"),\n\t\t\tEndPort:    pulumi.Int(65535),\n\t\t\tFosid:      pulumi.Int(1),\n\t\t\tLogtraffic: pulumi.String(\"enable\"),\n\t\t\tProtocol:   pulumi.Int(0),\n\t\t\tSnat:       pulumi.String(\"disable\"),\n\t\t\tSnatIp:     pulumi.String(\"0.0.0.0\"),\n\t\t\tSrcaddrs: firewall.MulticastpolicySrcaddrArray{\n\t\t\t\t&firewall.MulticastpolicySrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcintf:   pulumi.String(\"port3\"),\n\t\t\tStartPort: pulumi.Int(1),\n\t\t\tStatus:    pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Multicastpolicy;\nimport com.pulumi.fortios.firewall.MulticastpolicyArgs;\nimport com.pulumi.fortios.firewall.inputs.MulticastpolicyDstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.MulticastpolicySrcaddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Multicastpolicy(\"trname\", MulticastpolicyArgs.builder()\n            .action(\"accept\")\n            .dnat(\"0.0.0.0\")\n            .dstaddrs(MulticastpolicyDstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .dstintf(\"port4\")\n            .endPort(65535)\n            .fosid(1)\n            .logtraffic(\"enable\")\n            .protocol(0)\n            .snat(\"disable\")\n            .snatIp(\"0.0.0.0\")\n            .srcaddrs(MulticastpolicySrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .srcintf(\"port3\")\n            .startPort(1)\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Multicastpolicy\n    properties:\n      action: accept\n      dnat: 0.0.0.0\n      dstaddrs:\n        - name: all\n      dstintf: port4\n      endPort: 65535\n      fosid: 1\n      logtraffic: enable\n      protocol: 0\n      snat: disable\n      snatIp: 0.0.0.0\n      srcaddrs:\n        - name: all\n      srcintf: port3\n      startPort: 1\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall MulticastPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/multicastpolicy:Multicastpolicy labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/multicastpolicy:Multicastpolicy labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Accept or deny traffic matching the policy. Valid values: `accept`, `deny`.\n"
        },
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable offloading policy traffic for hardware acceleration. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dnat": {
          "type": "string",
          "description": "IPv4 DNAT address used for multicast destination addresses.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastpolicyDstaddr:MulticastpolicyDstaddr"
          },
          "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "Destination interface name.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "endPort": {
          "type": "integer",
          "description": "Integer value for ending TCP/UDP/SCTP destination port in range (1 - 65535, default = 1).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable/disable logging traffic accepted by this policy.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255, default = 0).\n"
        },
        "snat": {
          "type": "string",
          "description": "Enable/disable substitution of the outgoing interface IP address for the original source IP address (called source NAT or SNAT). Valid values: `enable`, `disable`.\n"
        },
        "snatIp": {
          "type": "string",
          "description": "IPv4 address to be used as the source address for NATed traffic.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastpolicySrcaddr:MulticastpolicySrcaddr"
          },
          "description": "Source address objects. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Source interface name.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Integer value for starting TCP/UDP/SCTP destination port in range (1 - 65535, default = 1).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper to apply to traffic forwarded by the multicast policy.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable to add an IPS security profile to the policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "autoAsicOffload",
        "dnat",
        "dstaddrs",
        "dstintf",
        "endPort",
        "fosid",
        "ipsSensor",
        "logtraffic",
        "name",
        "protocol",
        "snat",
        "snatIp",
        "srcaddrs",
        "srcintf",
        "startPort",
        "status",
        "trafficShaper",
        "utmStatus",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Accept or deny traffic matching the policy. Valid values: `accept`, `deny`.\n"
        },
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable offloading policy traffic for hardware acceleration. Valid values: `enable`, `disable`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dnat": {
          "type": "string",
          "description": "IPv4 DNAT address used for multicast destination addresses.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastpolicyDstaddr:MulticastpolicyDstaddr"
          },
          "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "Destination interface name.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "endPort": {
          "type": "integer",
          "description": "Integer value for ending TCP/UDP/SCTP destination port in range (1 - 65535, default = 1).\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable/disable logging traffic accepted by this policy.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "protocol": {
          "type": "integer",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255, default = 0).\n"
        },
        "snat": {
          "type": "string",
          "description": "Enable/disable substitution of the outgoing interface IP address for the original source IP address (called source NAT or SNAT). Valid values: `enable`, `disable`.\n"
        },
        "snatIp": {
          "type": "string",
          "description": "IPv4 address to be used as the source address for NATed traffic.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FMulticastpolicySrcaddr:MulticastpolicySrcaddr"
          },
          "description": "Source address objects. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Source interface name.\n"
        },
        "startPort": {
          "type": "integer",
          "description": "Integer value for starting TCP/UDP/SCTP destination port in range (1 - 65535, default = 1).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper to apply to traffic forwarded by the multicast policy.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable to add an IPS security profile to the policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "dstintf",
        "srcaddrs",
        "srcintf"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Multicastpolicy resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Accept or deny traffic matching the policy. Valid values: `accept`, `deny`.\n"
          },
          "autoAsicOffload": {
            "type": "string",
            "description": "Enable/disable offloading policy traffic for hardware acceleration. Valid values: `enable`, `disable`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dnat": {
            "type": "string",
            "description": "IPv4 DNAT address used for multicast destination addresses.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FMulticastpolicyDstaddr:MulticastpolicyDstaddr"
            },
            "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n"
          },
          "dstintf": {
            "type": "string",
            "description": "Destination interface name.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "endPort": {
            "type": "integer",
            "description": "Integer value for ending TCP/UDP/SCTP destination port in range (1 - 65535, default = 1).\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "Name of an existing IPS sensor.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Enable/disable logging traffic accepted by this policy.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "protocol": {
            "type": "integer",
            "description": "Integer value for the protocol type as defined by IANA (0 - 255, default = 0).\n"
          },
          "snat": {
            "type": "string",
            "description": "Enable/disable substitution of the outgoing interface IP address for the original source IP address (called source NAT or SNAT). Valid values: `enable`, `disable`.\n"
          },
          "snatIp": {
            "type": "string",
            "description": "IPv4 address to be used as the source address for NATed traffic.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FMulticastpolicySrcaddr:MulticastpolicySrcaddr"
            },
            "description": "Source address objects. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintf": {
            "type": "string",
            "description": "Source interface name.\n"
          },
          "startPort": {
            "type": "integer",
            "description": "Integer value for starting TCP/UDP/SCTP destination port in range (1 - 65535, default = 1).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "trafficShaper": {
            "type": "string",
            "description": "Traffic shaper to apply to traffic forwarded by the multicast policy.\n"
          },
          "utmStatus": {
            "type": "string",
            "description": "Enable to add an IPS security profile to the policy. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/networkservicedynamic:Networkservicedynamic": {
      "description": "Configure Dynamic Network Services. Applies to FortiOS Version `>= 7.2.1`.\n\n## Import\n\nFirewall NetworkServiceDynamic can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/networkservicedynamic:Networkservicedynamic labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/networkservicedynamic:Networkservicedynamic labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "filter": {
          "type": "string",
          "description": "Match criteria filter.\n"
        },
        "name": {
          "type": "string",
          "description": "Dynamic Network Service name.\n"
        },
        "sdn": {
          "type": "string",
          "description": "SDN connector name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "sdn",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "filter": {
          "type": "string",
          "description": "Match criteria filter.\n"
        },
        "name": {
          "type": "string",
          "description": "Dynamic Network Service name.\n"
        },
        "sdn": {
          "type": "string",
          "description": "SDN connector name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Networkservicedynamic resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "filter": {
            "type": "string",
            "description": "Match criteria filter.\n"
          },
          "name": {
            "type": "string",
            "description": "Dynamic Network Service name.\n"
          },
          "sdn": {
            "type": "string",
            "description": "SDN connector name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/objectAddress:ObjectAddress": {
      "description": "Provides a resource to configure firewall addresses used in firewall policies of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.firewall.Address`, we recommend that you use the new resource.\n\n## Example Usage\n\n### Iprange Address\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst s1 = new fortios.firewall.ObjectAddress(\"s1\", {\n    comment: \"dd\",\n    endIp: \"2.0.0.0\",\n    startIp: \"1.0.0.0\",\n    type: \"iprange\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ns1 = fortios.firewall.ObjectAddress(\"s1\",\n    comment=\"dd\",\n    end_ip=\"2.0.0.0\",\n    start_ip=\"1.0.0.0\",\n    type=\"iprange\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var s1 = new Fortios.Firewall.ObjectAddress(\"s1\", new()\n    {\n        Comment = \"dd\",\n        EndIp = \"2.0.0.0\",\n        StartIp = \"1.0.0.0\",\n        Type = \"iprange\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectAddress(ctx, \"s1\", &firewall.ObjectAddressArgs{\n\t\t\tComment: pulumi.String(\"dd\"),\n\t\t\tEndIp:   pulumi.String(\"2.0.0.0\"),\n\t\t\tStartIp: pulumi.String(\"1.0.0.0\"),\n\t\t\tType:    pulumi.String(\"iprange\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectAddress;\nimport com.pulumi.fortios.firewall.ObjectAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var s1 = new ObjectAddress(\"s1\", ObjectAddressArgs.builder()\n            .comment(\"dd\")\n            .endIp(\"2.0.0.0\")\n            .startIp(\"1.0.0.0\")\n            .type(\"iprange\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  s1:\n    type: fortios:firewall:ObjectAddress\n    properties:\n      comment: dd\n      endIp: 2.0.0.0\n      startIp: 1.0.0.0\n      type: iprange\n```\n<!--End PulumiCodeChooser -->\n\n\n### Geography Address\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst s2 = new fortios.firewall.ObjectAddress(\"s2\", {\n    comment: \"dd\",\n    country: \"AO\",\n    type: \"geography\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ns2 = fortios.firewall.ObjectAddress(\"s2\",\n    comment=\"dd\",\n    country=\"AO\",\n    type=\"geography\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var s2 = new Fortios.Firewall.ObjectAddress(\"s2\", new()\n    {\n        Comment = \"dd\",\n        Country = \"AO\",\n        Type = \"geography\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectAddress(ctx, \"s2\", &firewall.ObjectAddressArgs{\n\t\t\tComment: pulumi.String(\"dd\"),\n\t\t\tCountry: pulumi.String(\"AO\"),\n\t\t\tType:    pulumi.String(\"geography\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectAddress;\nimport com.pulumi.fortios.firewall.ObjectAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var s2 = new ObjectAddress(\"s2\", ObjectAddressArgs.builder()\n            .comment(\"dd\")\n            .country(\"AO\")\n            .type(\"geography\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  s2:\n    type: fortios:firewall:ObjectAddress\n    properties:\n      comment: dd\n      country: AO\n      type: geography\n```\n<!--End PulumiCodeChooser -->\n\n\n### Fqdn Address\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst s3 = new fortios.firewall.ObjectAddress(\"s3\", {\n    associatedInterface: \"port4\",\n    comment: \"dd\",\n    fqdn: \"baid.com\",\n    showInAddressList: \"disable\",\n    staticRouteConfigure: \"enable\",\n    type: \"fqdn\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ns3 = fortios.firewall.ObjectAddress(\"s3\",\n    associated_interface=\"port4\",\n    comment=\"dd\",\n    fqdn=\"baid.com\",\n    show_in_address_list=\"disable\",\n    static_route_configure=\"enable\",\n    type=\"fqdn\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var s3 = new Fortios.Firewall.ObjectAddress(\"s3\", new()\n    {\n        AssociatedInterface = \"port4\",\n        Comment = \"dd\",\n        Fqdn = \"baid.com\",\n        ShowInAddressList = \"disable\",\n        StaticRouteConfigure = \"enable\",\n        Type = \"fqdn\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectAddress(ctx, \"s3\", &firewall.ObjectAddressArgs{\n\t\t\tAssociatedInterface:  pulumi.String(\"port4\"),\n\t\t\tComment:              pulumi.String(\"dd\"),\n\t\t\tFqdn:                 pulumi.String(\"baid.com\"),\n\t\t\tShowInAddressList:    pulumi.String(\"disable\"),\n\t\t\tStaticRouteConfigure: pulumi.String(\"enable\"),\n\t\t\tType:                 pulumi.String(\"fqdn\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectAddress;\nimport com.pulumi.fortios.firewall.ObjectAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var s3 = new ObjectAddress(\"s3\", ObjectAddressArgs.builder()\n            .associatedInterface(\"port4\")\n            .comment(\"dd\")\n            .fqdn(\"baid.com\")\n            .showInAddressList(\"disable\")\n            .staticRouteConfigure(\"enable\")\n            .type(\"fqdn\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  s3:\n    type: fortios:firewall:ObjectAddress\n    properties:\n      associatedInterface: port4\n      comment: dd\n      fqdn: baid.com\n      showInAddressList: disable\n      staticRouteConfigure: enable\n      type: fqdn\n```\n<!--End PulumiCodeChooser -->\n\n\n### Ipmask Address\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst s4 = new fortios.firewall.ObjectAddress(\"s4\", {\n    comment: \"dd\",\n    subnet: \"0.0.0.0 0.0.0.0\",\n    type: \"ipmask\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ns4 = fortios.firewall.ObjectAddress(\"s4\",\n    comment=\"dd\",\n    subnet=\"0.0.0.0 0.0.0.0\",\n    type=\"ipmask\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var s4 = new Fortios.Firewall.ObjectAddress(\"s4\", new()\n    {\n        Comment = \"dd\",\n        Subnet = \"0.0.0.0 0.0.0.0\",\n        Type = \"ipmask\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectAddress(ctx, \"s4\", &firewall.ObjectAddressArgs{\n\t\t\tComment: pulumi.String(\"dd\"),\n\t\t\tSubnet:  pulumi.String(\"0.0.0.0 0.0.0.0\"),\n\t\t\tType:    pulumi.String(\"ipmask\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectAddress;\nimport com.pulumi.fortios.firewall.ObjectAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var s4 = new ObjectAddress(\"s4\", ObjectAddressArgs.builder()\n            .comment(\"dd\")\n            .subnet(\"0.0.0.0 0.0.0.0\")\n            .type(\"ipmask\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  s4:\n    type: fortios:firewall:ObjectAddress\n    properties:\n      comment: dd\n      subnet: 0.0.0.0 0.0.0.0\n      type: ipmask\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "associatedInterface": {
          "type": "string",
          "description": "Network interface associated with address.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "country": {
          "type": "string",
          "description": "IP addresses associated to a specific country.\n"
        },
        "endIp": {
          "type": "string",
          "description": "Final IP address (inclusive) in the range for the address.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully Qualified Domain Name address.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "showInAddressList": {
          "type": "string",
          "description": "Enable/disable address visibility in the GUI. default is \"enable\".\n"
        },
        "startIp": {
          "type": "string",
          "description": "First IP address (inclusive) in the range for the address.\n"
        },
        "staticRouteConfigure": {
          "type": "string",
          "description": "Enable/disable use of this address in the static route configuration. default is \"disable\".\n"
        },
        "subnet": {
          "type": "string",
          "description": "IP address and subnet mask of address.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of address(Support ipmask, iprange, fqdn and geography).\n"
        }
      },
      "type": "object",
      "required": [
        "associatedInterface",
        "country",
        "endIp",
        "fqdn",
        "name",
        "showInAddressList",
        "startIp",
        "staticRouteConfigure",
        "subnet",
        "type"
      ],
      "inputProperties": {
        "associatedInterface": {
          "type": "string",
          "description": "Network interface associated with address.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "country": {
          "type": "string",
          "description": "IP addresses associated to a specific country.\n"
        },
        "endIp": {
          "type": "string",
          "description": "Final IP address (inclusive) in the range for the address.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully Qualified Domain Name address.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "showInAddressList": {
          "type": "string",
          "description": "Enable/disable address visibility in the GUI. default is \"enable\".\n"
        },
        "startIp": {
          "type": "string",
          "description": "First IP address (inclusive) in the range for the address.\n"
        },
        "staticRouteConfigure": {
          "type": "string",
          "description": "Enable/disable use of this address in the static route configuration. default is \"disable\".\n"
        },
        "subnet": {
          "type": "string",
          "description": "IP address and subnet mask of address.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of address(Support ipmask, iprange, fqdn and geography).\n"
        }
      },
      "requiredInputs": [
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ObjectAddress resources.\n",
        "properties": {
          "associatedInterface": {
            "type": "string",
            "description": "Network interface associated with address.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "country": {
            "type": "string",
            "description": "IP addresses associated to a specific country.\n"
          },
          "endIp": {
            "type": "string",
            "description": "Final IP address (inclusive) in the range for the address.\n"
          },
          "fqdn": {
            "type": "string",
            "description": "Fully Qualified Domain Name address.\n"
          },
          "name": {
            "type": "string",
            "description": "Address name.\n"
          },
          "showInAddressList": {
            "type": "string",
            "description": "Enable/disable address visibility in the GUI. default is \"enable\".\n"
          },
          "startIp": {
            "type": "string",
            "description": "First IP address (inclusive) in the range for the address.\n"
          },
          "staticRouteConfigure": {
            "type": "string",
            "description": "Enable/disable use of this address in the static route configuration. default is \"disable\".\n"
          },
          "subnet": {
            "type": "string",
            "description": "IP address and subnet mask of address.\n"
          },
          "type": {
            "type": "string",
            "description": "Type of address(Support ipmask, iprange, fqdn and geography).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/objectAddressgroup:ObjectAddressgroup": {
      "description": "Provides a resource to configure firewall address group used in firewall policies of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.firewall.Addrgrp`, we recommend that you use the new resource.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst s1 = new fortios.firewall.ObjectAddressgroup(\"s1\", {\n    comment: \"dfdsad\",\n    members: [\n        \"google-play\",\n        \"swscan.apple.com\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ns1 = fortios.firewall.ObjectAddressgroup(\"s1\",\n    comment=\"dfdsad\",\n    members=[\n        \"google-play\",\n        \"swscan.apple.com\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var s1 = new Fortios.Firewall.ObjectAddressgroup(\"s1\", new()\n    {\n        Comment = \"dfdsad\",\n        Members = new[]\n        {\n            \"google-play\",\n            \"swscan.apple.com\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectAddressgroup(ctx, \"s1\", &firewall.ObjectAddressgroupArgs{\n\t\t\tComment: pulumi.String(\"dfdsad\"),\n\t\t\tMembers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"google-play\"),\n\t\t\t\tpulumi.String(\"swscan.apple.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectAddressgroup;\nimport com.pulumi.fortios.firewall.ObjectAddressgroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var s1 = new ObjectAddressgroup(\"s1\", ObjectAddressgroupArgs.builder()\n            .comment(\"dfdsad\")\n            .members(            \n                \"google-play\",\n                \"swscan.apple.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  s1:\n    type: fortios:firewall:ObjectAddressgroup\n    properties:\n      comment: dfdsad\n      members:\n        - google-play\n        - swscan.apple.com\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Address objects contained within the group.\n"
        },
        "name": {
          "type": "string",
          "description": "Address group name.\n"
        }
      },
      "type": "object",
      "required": [
        "members",
        "name"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Address objects contained within the group.\n"
        },
        "name": {
          "type": "string",
          "description": "Address group name.\n"
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ObjectAddressgroup resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Address objects contained within the group.\n"
          },
          "name": {
            "type": "string",
            "description": "Address group name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/objectIppool:ObjectIppool": {
      "description": "Provides a resource to configure IPv4 IP address pools of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.firewall.Ippool`, we recommend that you use the new resource.\n\n## Example Usage\n\n### Overload Ippool\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst s1 = new fortios.firewall.ObjectIppool(\"s1\", {\n    arpReply: \"enable\",\n    comments: \"fdsaf\",\n    endip: \"22.0.0.0\",\n    startip: \"11.0.0.0\",\n    type: \"overload\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ns1 = fortios.firewall.ObjectIppool(\"s1\",\n    arp_reply=\"enable\",\n    comments=\"fdsaf\",\n    endip=\"22.0.0.0\",\n    startip=\"11.0.0.0\",\n    type=\"overload\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var s1 = new Fortios.Firewall.ObjectIppool(\"s1\", new()\n    {\n        ArpReply = \"enable\",\n        Comments = \"fdsaf\",\n        Endip = \"22.0.0.0\",\n        Startip = \"11.0.0.0\",\n        Type = \"overload\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectIppool(ctx, \"s1\", &firewall.ObjectIppoolArgs{\n\t\t\tArpReply: pulumi.String(\"enable\"),\n\t\t\tComments: pulumi.String(\"fdsaf\"),\n\t\t\tEndip:    pulumi.String(\"22.0.0.0\"),\n\t\t\tStartip:  pulumi.String(\"11.0.0.0\"),\n\t\t\tType:     pulumi.String(\"overload\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectIppool;\nimport com.pulumi.fortios.firewall.ObjectIppoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var s1 = new ObjectIppool(\"s1\", ObjectIppoolArgs.builder()\n            .arpReply(\"enable\")\n            .comments(\"fdsaf\")\n            .endip(\"22.0.0.0\")\n            .startip(\"11.0.0.0\")\n            .type(\"overload\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  s1:\n    type: fortios:firewall:ObjectIppool\n    properties:\n      arpReply: enable\n      comments: fdsaf\n      endip: 22.0.0.0\n      startip: 11.0.0.0\n      type: overload\n```\n<!--End PulumiCodeChooser -->\n\n\n### One-To-One Ippool\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst s2 = new fortios.firewall.ObjectIppool(\"s2\", {\n    arpReply: \"enable\",\n    comments: \"fdsaf\",\n    endip: \"222.0.0.0\",\n    startip: \"121.0.0.0\",\n    type: \"one-to-one\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ns2 = fortios.firewall.ObjectIppool(\"s2\",\n    arp_reply=\"enable\",\n    comments=\"fdsaf\",\n    endip=\"222.0.0.0\",\n    startip=\"121.0.0.0\",\n    type=\"one-to-one\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var s2 = new Fortios.Firewall.ObjectIppool(\"s2\", new()\n    {\n        ArpReply = \"enable\",\n        Comments = \"fdsaf\",\n        Endip = \"222.0.0.0\",\n        Startip = \"121.0.0.0\",\n        Type = \"one-to-one\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectIppool(ctx, \"s2\", &firewall.ObjectIppoolArgs{\n\t\t\tArpReply: pulumi.String(\"enable\"),\n\t\t\tComments: pulumi.String(\"fdsaf\"),\n\t\t\tEndip:    pulumi.String(\"222.0.0.0\"),\n\t\t\tStartip:  pulumi.String(\"121.0.0.0\"),\n\t\t\tType:     pulumi.String(\"one-to-one\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectIppool;\nimport com.pulumi.fortios.firewall.ObjectIppoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var s2 = new ObjectIppool(\"s2\", ObjectIppoolArgs.builder()\n            .arpReply(\"enable\")\n            .comments(\"fdsaf\")\n            .endip(\"222.0.0.0\")\n            .startip(\"121.0.0.0\")\n            .type(\"one-to-one\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  s2:\n    type: fortios:firewall:ObjectIppool\n    properties:\n      arpReply: enable\n      comments: fdsaf\n      endip: 222.0.0.0\n      startip: 121.0.0.0\n      type: one-to-one\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "arpReply": {
          "type": "string",
          "description": "Enable/disable replying to ARP requests when an IP Pool is added to a policy.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "endip": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx).\n"
        },
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        },
        "startip": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx).\n"
        },
        "type": {
          "type": "string",
          "description": "IP pool type(Support overload and one-to-one).\n"
        }
      },
      "type": "object",
      "required": [
        "arpReply",
        "endip",
        "name",
        "startip",
        "type"
      ],
      "inputProperties": {
        "arpReply": {
          "type": "string",
          "description": "Enable/disable replying to ARP requests when an IP Pool is added to a policy.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "endip": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx).\n"
        },
        "name": {
          "type": "string",
          "description": "IP pool name.\n"
        },
        "startip": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx).\n"
        },
        "type": {
          "type": "string",
          "description": "IP pool type(Support overload and one-to-one).\n"
        }
      },
      "requiredInputs": [
        "endip",
        "startip",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ObjectIppool resources.\n",
        "properties": {
          "arpReply": {
            "type": "string",
            "description": "Enable/disable replying to ARP requests when an IP Pool is added to a policy.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "endip": {
            "type": "string",
            "description": "Final IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx).\n"
          },
          "name": {
            "type": "string",
            "description": "IP pool name.\n"
          },
          "startip": {
            "type": "string",
            "description": "First IPv4 address (inclusive) in the range for the address pool (format xxx.xxx.xxx.xxx).\n"
          },
          "type": {
            "type": "string",
            "description": "IP pool type(Support overload and one-to-one).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/objectService:ObjectService": {
      "description": "Provides a resource to configure firewall service of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.firewall/service.Custom`, we recommend that you use the new resource.\n\n## Example Usage\n\n### Fqdn Service\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst v11 = new fortios.firewall.ObjectService(\"v11\", {\n    category: \"General\",\n    comment: \"comment\",\n    fqdn: \"abc.com\",\n    protocol: \"TCP/UDP/SCTP\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nv11 = fortios.firewall.ObjectService(\"v11\",\n    category=\"General\",\n    comment=\"comment\",\n    fqdn=\"abc.com\",\n    protocol=\"TCP/UDP/SCTP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var v11 = new Fortios.Firewall.ObjectService(\"v11\", new()\n    {\n        Category = \"General\",\n        Comment = \"comment\",\n        Fqdn = \"abc.com\",\n        Protocol = \"TCP/UDP/SCTP\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectService(ctx, \"v11\", &firewall.ObjectServiceArgs{\n\t\t\tCategory: pulumi.String(\"General\"),\n\t\t\tComment:  pulumi.String(\"comment\"),\n\t\t\tFqdn:     pulumi.String(\"abc.com\"),\n\t\t\tProtocol: pulumi.String(\"TCP/UDP/SCTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectService;\nimport com.pulumi.fortios.firewall.ObjectServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var v11 = new ObjectService(\"v11\", ObjectServiceArgs.builder()\n            .category(\"General\")\n            .comment(\"comment\")\n            .fqdn(\"abc.com\")\n            .protocol(\"TCP/UDP/SCTP\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  v11:\n    type: fortios:firewall:ObjectService\n    properties:\n      category: General\n      comment: comment\n      fqdn: abc.com\n      protocol: TCP/UDP/SCTP\n```\n<!--End PulumiCodeChooser -->\n\n\n### Iprange Service\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst v13 = new fortios.firewall.ObjectService(\"v13\", {\n    category: \"General\",\n    comment: \"comment\",\n    iprange: \"1.1.1.1-2.2.2.2\",\n    protocol: \"TCP/UDP/SCTP\",\n    sctpPortrange: \"66-88\",\n    tcpPortrange: \"22-33\",\n    udpPortrange: \"44-55\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nv13 = fortios.firewall.ObjectService(\"v13\",\n    category=\"General\",\n    comment=\"comment\",\n    iprange=\"1.1.1.1-2.2.2.2\",\n    protocol=\"TCP/UDP/SCTP\",\n    sctp_portrange=\"66-88\",\n    tcp_portrange=\"22-33\",\n    udp_portrange=\"44-55\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var v13 = new Fortios.Firewall.ObjectService(\"v13\", new()\n    {\n        Category = \"General\",\n        Comment = \"comment\",\n        Iprange = \"1.1.1.1-2.2.2.2\",\n        Protocol = \"TCP/UDP/SCTP\",\n        SctpPortrange = \"66-88\",\n        TcpPortrange = \"22-33\",\n        UdpPortrange = \"44-55\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectService(ctx, \"v13\", &firewall.ObjectServiceArgs{\n\t\t\tCategory:      pulumi.String(\"General\"),\n\t\t\tComment:       pulumi.String(\"comment\"),\n\t\t\tIprange:       pulumi.String(\"1.1.1.1-2.2.2.2\"),\n\t\t\tProtocol:      pulumi.String(\"TCP/UDP/SCTP\"),\n\t\t\tSctpPortrange: pulumi.String(\"66-88\"),\n\t\t\tTcpPortrange:  pulumi.String(\"22-33\"),\n\t\t\tUdpPortrange:  pulumi.String(\"44-55\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectService;\nimport com.pulumi.fortios.firewall.ObjectServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var v13 = new ObjectService(\"v13\", ObjectServiceArgs.builder()\n            .category(\"General\")\n            .comment(\"comment\")\n            .iprange(\"1.1.1.1-2.2.2.2\")\n            .protocol(\"TCP/UDP/SCTP\")\n            .sctpPortrange(\"66-88\")\n            .tcpPortrange(\"22-33\")\n            .udpPortrange(\"44-55\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  v13:\n    type: fortios:firewall:ObjectService\n    properties:\n      category: General\n      comment: comment\n      iprange: 1.1.1.1-2.2.2.2\n      protocol: TCP/UDP/SCTP\n      sctpPortrange: 66-88\n      tcpPortrange: 22-33\n      udpPortrange: 44-55\n```\n<!--End PulumiCodeChooser -->\n\n\n### ICMP Service\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst iCMP = new fortios.firewall.ObjectService(\"iCMP\", {\n    category: \"General\",\n    comment: \"comment\",\n    icmpcode: \"3\",\n    icmptype: \"2\",\n    protocol: \"ICMP\",\n    protocolNumber: \"1\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ni_cmp = fortios.firewall.ObjectService(\"iCMP\",\n    category=\"General\",\n    comment=\"comment\",\n    icmpcode=\"3\",\n    icmptype=\"2\",\n    protocol=\"ICMP\",\n    protocol_number=\"1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var iCMP = new Fortios.Firewall.ObjectService(\"iCMP\", new()\n    {\n        Category = \"General\",\n        Comment = \"comment\",\n        Icmpcode = \"3\",\n        Icmptype = \"2\",\n        Protocol = \"ICMP\",\n        ProtocolNumber = \"1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectService(ctx, \"iCMP\", &firewall.ObjectServiceArgs{\n\t\t\tCategory:       pulumi.String(\"General\"),\n\t\t\tComment:        pulumi.String(\"comment\"),\n\t\t\tIcmpcode:       pulumi.String(\"3\"),\n\t\t\tIcmptype:       pulumi.String(\"2\"),\n\t\t\tProtocol:       pulumi.String(\"ICMP\"),\n\t\t\tProtocolNumber: pulumi.String(\"1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectService;\nimport com.pulumi.fortios.firewall.ObjectServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var iCMP = new ObjectService(\"iCMP\", ObjectServiceArgs.builder()\n            .category(\"General\")\n            .comment(\"comment\")\n            .icmpcode(\"3\")\n            .icmptype(\"2\")\n            .protocol(\"ICMP\")\n            .protocolNumber(\"1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  iCMP:\n    type: fortios:firewall:ObjectService\n    properties:\n      category: General\n      comment: comment\n      icmpcode: '3'\n      icmptype: '2'\n      protocol: ICMP\n      protocolNumber: '1'\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "category": {
          "type": "string",
          "description": "Service category.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully qualified domain name.\n"
        },
        "icmpcode": {
          "type": "string",
          "description": "ICMP code.\n"
        },
        "icmptype": {
          "type": "string",
          "description": "ICMP type.\n"
        },
        "iprange": {
          "type": "string",
          "description": "Start and end of the IP range associated with service.\n"
        },
        "name": {
          "type": "string",
          "description": "Number of minutes before an idle administrator session time out.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol type based on IANA numbers.\n"
        },
        "protocolNumber": {
          "type": "string",
          "description": "IP protocol number.\n"
        },
        "sctpPortrange": {
          "type": "string",
          "description": "Multiple SCTP port ranges.\n"
        },
        "sessionTtl": {
          "type": "string",
          "description": "Custom tcp session TTL.\n"
        },
        "tcpPortrange": {
          "type": "string",
          "description": "Multiple TCP port ranges.\n"
        },
        "udpPortrange": {
          "type": "string",
          "description": "Multiple UDP port ranges.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "fqdn",
        "icmpcode",
        "icmptype",
        "iprange",
        "name",
        "protocol",
        "protocolNumber",
        "sctpPortrange",
        "sessionTtl",
        "tcpPortrange",
        "udpPortrange"
      ],
      "inputProperties": {
        "category": {
          "type": "string",
          "description": "Service category.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully qualified domain name.\n"
        },
        "icmpcode": {
          "type": "string",
          "description": "ICMP code.\n"
        },
        "icmptype": {
          "type": "string",
          "description": "ICMP type.\n"
        },
        "iprange": {
          "type": "string",
          "description": "Start and end of the IP range associated with service.\n"
        },
        "name": {
          "type": "string",
          "description": "Number of minutes before an idle administrator session time out.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol type based on IANA numbers.\n"
        },
        "protocolNumber": {
          "type": "string",
          "description": "IP protocol number.\n"
        },
        "sctpPortrange": {
          "type": "string",
          "description": "Multiple SCTP port ranges.\n"
        },
        "sessionTtl": {
          "type": "string",
          "description": "Custom tcp session TTL.\n"
        },
        "tcpPortrange": {
          "type": "string",
          "description": "Multiple TCP port ranges.\n"
        },
        "udpPortrange": {
          "type": "string",
          "description": "Multiple UDP port ranges.\n"
        }
      },
      "requiredInputs": [
        "category",
        "protocol"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ObjectService resources.\n",
        "properties": {
          "category": {
            "type": "string",
            "description": "Service category.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "fqdn": {
            "type": "string",
            "description": "Fully qualified domain name.\n"
          },
          "icmpcode": {
            "type": "string",
            "description": "ICMP code.\n"
          },
          "icmptype": {
            "type": "string",
            "description": "ICMP type.\n"
          },
          "iprange": {
            "type": "string",
            "description": "Start and end of the IP range associated with service.\n"
          },
          "name": {
            "type": "string",
            "description": "Number of minutes before an idle administrator session time out.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol type based on IANA numbers.\n"
          },
          "protocolNumber": {
            "type": "string",
            "description": "IP protocol number.\n"
          },
          "sctpPortrange": {
            "type": "string",
            "description": "Multiple SCTP port ranges.\n"
          },
          "sessionTtl": {
            "type": "string",
            "description": "Custom tcp session TTL.\n"
          },
          "tcpPortrange": {
            "type": "string",
            "description": "Multiple TCP port ranges.\n"
          },
          "udpPortrange": {
            "type": "string",
            "description": "Multiple UDP port ranges.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/objectServicecategory:ObjectServicecategory": {
      "description": "Provides a resource to configure firewall service category of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.firewall/service.Category`, we recommend that you use the new resource.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst testCategoryName = new fortios.firewall.ObjectServicecategory(\"testCategoryName\", {comment: \"comment\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest_category_name = fortios.firewall.ObjectServicecategory(\"testCategoryName\", comment=\"comment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var testCategoryName = new Fortios.Firewall.ObjectServicecategory(\"testCategoryName\", new()\n    {\n        Comment = \"comment\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectServicecategory(ctx, \"testCategoryName\", &firewall.ObjectServicecategoryArgs{\n\t\t\tComment: pulumi.String(\"comment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectServicecategory;\nimport com.pulumi.fortios.firewall.ObjectServicecategoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testCategoryName = new ObjectServicecategory(\"testCategoryName\", ObjectServicecategoryArgs.builder()\n            .comment(\"comment\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testCategoryName:\n    type: fortios:firewall:ObjectServicecategory\n    properties:\n      comment: comment\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "Category name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "Category name.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ObjectServicecategory resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "name": {
            "type": "string",
            "description": "Category name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/objectServicegroup:ObjectServicegroup": {
      "description": "Provides a resource to configure firewall service group of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.firewall/service.Group`, we recommend that you use the new resource.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst v11 = new fortios.firewall.ObjectServicegroup(\"v11\", {\n    comment: \"fdsafdsa\",\n    members: [\n        \"DCE-RPC\",\n        \"DNS\",\n        \"HTTPS\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nv11 = fortios.firewall.ObjectServicegroup(\"v11\",\n    comment=\"fdsafdsa\",\n    members=[\n        \"DCE-RPC\",\n        \"DNS\",\n        \"HTTPS\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var v11 = new Fortios.Firewall.ObjectServicegroup(\"v11\", new()\n    {\n        Comment = \"fdsafdsa\",\n        Members = new[]\n        {\n            \"DCE-RPC\",\n            \"DNS\",\n            \"HTTPS\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectServicegroup(ctx, \"v11\", &firewall.ObjectServicegroupArgs{\n\t\t\tComment: pulumi.String(\"fdsafdsa\"),\n\t\t\tMembers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DCE-RPC\"),\n\t\t\t\tpulumi.String(\"DNS\"),\n\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectServicegroup;\nimport com.pulumi.fortios.firewall.ObjectServicegroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var v11 = new ObjectServicegroup(\"v11\", ObjectServicegroupArgs.builder()\n            .comment(\"fdsafdsa\")\n            .members(            \n                \"DCE-RPC\",\n                \"DNS\",\n                \"HTTPS\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  v11:\n    type: fortios:firewall:ObjectServicegroup\n    properties:\n      comment: fdsafdsa\n      members:\n        - DCE-RPC\n        - DNS\n        - HTTPS\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Service objects contained within the group.\n"
        },
        "name": {
          "type": "string",
          "description": "Service group name.\n"
        }
      },
      "type": "object",
      "required": [
        "members",
        "name"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Service objects contained within the group.\n"
        },
        "name": {
          "type": "string",
          "description": "Service group name.\n"
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ObjectServicegroup resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Service objects contained within the group.\n"
          },
          "name": {
            "type": "string",
            "description": "Service group name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/objectVip:ObjectVip": {
      "description": "Provides a resource to configure firewall virtual IPs (VIPs) of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.firewall.Vip`, we recommend that you use the new resource.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst v11 = new fortios.firewall.ObjectVip(\"v11\", {\n    comment: \"fdsafdsafds\",\n    extintf: \"port3\",\n    extip: \"11.1.1.1-21.1.1.1\",\n    extport: \"2-3\",\n    mappedips: [\"22.2.2.2-32.2.2.2\"],\n    mappedport: \"4-5\",\n    portforward: \"enable\",\n    protocol: \"tcp\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nv11 = fortios.firewall.ObjectVip(\"v11\",\n    comment=\"fdsafdsafds\",\n    extintf=\"port3\",\n    extip=\"11.1.1.1-21.1.1.1\",\n    extport=\"2-3\",\n    mappedips=[\"22.2.2.2-32.2.2.2\"],\n    mappedport=\"4-5\",\n    portforward=\"enable\",\n    protocol=\"tcp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var v11 = new Fortios.Firewall.ObjectVip(\"v11\", new()\n    {\n        Comment = \"fdsafdsafds\",\n        Extintf = \"port3\",\n        Extip = \"11.1.1.1-21.1.1.1\",\n        Extport = \"2-3\",\n        Mappedips = new[]\n        {\n            \"22.2.2.2-32.2.2.2\",\n        },\n        Mappedport = \"4-5\",\n        Portforward = \"enable\",\n        Protocol = \"tcp\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectVip(ctx, \"v11\", &firewall.ObjectVipArgs{\n\t\t\tComment: pulumi.String(\"fdsafdsafds\"),\n\t\t\tExtintf: pulumi.String(\"port3\"),\n\t\t\tExtip:   pulumi.String(\"11.1.1.1-21.1.1.1\"),\n\t\t\tExtport: pulumi.String(\"2-3\"),\n\t\t\tMappedips: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"22.2.2.2-32.2.2.2\"),\n\t\t\t},\n\t\t\tMappedport:  pulumi.String(\"4-5\"),\n\t\t\tPortforward: pulumi.String(\"enable\"),\n\t\t\tProtocol:    pulumi.String(\"tcp\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectVip;\nimport com.pulumi.fortios.firewall.ObjectVipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var v11 = new ObjectVip(\"v11\", ObjectVipArgs.builder()\n            .comment(\"fdsafdsafds\")\n            .extintf(\"port3\")\n            .extip(\"11.1.1.1-21.1.1.1\")\n            .extport(\"2-3\")\n            .mappedips(\"22.2.2.2-32.2.2.2\")\n            .mappedport(\"4-5\")\n            .portforward(\"enable\")\n            .protocol(\"tcp\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  v11:\n    type: fortios:firewall:ObjectVip\n    properties:\n      comment: fdsafdsafds\n      extintf: port3\n      extip: 11.1.1.1-21.1.1.1\n      extport: 2-3\n      mappedips:\n        - 22.2.2.2-32.2.2.2\n      mappedport: 4-5\n      portforward: enable\n      protocol: tcp\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "extintf": {
          "type": "string",
          "description": "Interface connected to the source network that receives the packets that will be forwarded to the destination network.\n"
        },
        "extip": {
          "type": "string",
          "description": "IP address or address range on the external interface that you want to map to an address or address range on the\ndestination network.\n"
        },
        "extport": {
          "type": "string",
          "description": "Incoming port number range that you want to map to a port number range on the destination network.\n"
        },
        "mappedips": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "IP address or address range on the destination network to which the external IP address is mapped.\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Port number range on the destination network to which the external port number range is mapped.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual IP name.\n"
        },
        "portforward": {
          "type": "string",
          "description": "Enable/disable port forwarding.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol to use when forwarding packets.\n"
        }
      },
      "type": "object",
      "required": [
        "extintf",
        "extip",
        "extport",
        "mappedips",
        "mappedport",
        "name",
        "portforward",
        "protocol"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "extintf": {
          "type": "string",
          "description": "Interface connected to the source network that receives the packets that will be forwarded to the destination network.\n"
        },
        "extip": {
          "type": "string",
          "description": "IP address or address range on the external interface that you want to map to an address or address range on the\ndestination network.\n"
        },
        "extport": {
          "type": "string",
          "description": "Incoming port number range that you want to map to a port number range on the destination network.\n"
        },
        "mappedips": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "IP address or address range on the destination network to which the external IP address is mapped.\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Port number range on the destination network to which the external port number range is mapped.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual IP name.\n"
        },
        "portforward": {
          "type": "string",
          "description": "Enable/disable port forwarding.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol to use when forwarding packets.\n"
        }
      },
      "requiredInputs": [
        "extip",
        "mappedips"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ObjectVip resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "extintf": {
            "type": "string",
            "description": "Interface connected to the source network that receives the packets that will be forwarded to the destination network.\n"
          },
          "extip": {
            "type": "string",
            "description": "IP address or address range on the external interface that you want to map to an address or address range on the\ndestination network.\n"
          },
          "extport": {
            "type": "string",
            "description": "Incoming port number range that you want to map to a port number range on the destination network.\n"
          },
          "mappedips": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IP address or address range on the destination network to which the external IP address is mapped.\n"
          },
          "mappedport": {
            "type": "string",
            "description": "Port number range on the destination network to which the external port number range is mapped.\n"
          },
          "name": {
            "type": "string",
            "description": "Virtual IP name.\n"
          },
          "portforward": {
            "type": "string",
            "description": "Enable/disable port forwarding.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol to use when forwarding packets.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/objectVipgroup:ObjectVipgroup": {
      "description": "Provides a resource to configure virtual IP groups of FortiOS.\n\n!> **Warning:** The resource will be deprecated and replaced by new resource `fortios.firewall.Vipgrp`, we recommend that you use the new resource.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst v11 = new fortios.firewall.ObjectVipgroup(\"v11\", {\n    comments: \"comments\",\n    \"interface\": \"port3\",\n    members: [\n        \"vip1\",\n        \"vip3\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nv11 = fortios.firewall.ObjectVipgroup(\"v11\",\n    comments=\"comments\",\n    interface=\"port3\",\n    members=[\n        \"vip1\",\n        \"vip3\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var v11 = new Fortios.Firewall.ObjectVipgroup(\"v11\", new()\n    {\n        Comments = \"comments\",\n        Interface = \"port3\",\n        Members = new[]\n        {\n            \"vip1\",\n            \"vip3\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewObjectVipgroup(ctx, \"v11\", &firewall.ObjectVipgroupArgs{\n\t\t\tComments:  pulumi.String(\"comments\"),\n\t\t\tInterface: pulumi.String(\"port3\"),\n\t\t\tMembers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"vip1\"),\n\t\t\t\tpulumi.String(\"vip3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.ObjectVipgroup;\nimport com.pulumi.fortios.firewall.ObjectVipgroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var v11 = new ObjectVipgroup(\"v11\", ObjectVipgroupArgs.builder()\n            .comments(\"comments\")\n            .interface_(\"port3\")\n            .members(            \n                \"vip1\",\n                \"vip3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  v11:\n    type: fortios:firewall:ObjectVipgroup\n    properties:\n      comments: comments\n      interface: port3\n      members:\n        - vip1\n        - vip3\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Member VIP objects of the group.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP group name.\n"
        }
      },
      "type": "object",
      "required": [
        "interface",
        "members",
        "name"
      ],
      "inputProperties": {
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Member VIP objects of the group.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP group name.\n"
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ObjectVipgroup resources.\n",
        "properties": {
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "interface": {
            "type": "string",
            "description": "Interface name.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Member VIP objects of the group.\n"
          },
          "name": {
            "type": "string",
            "description": "VIP group name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ondemandsniffer:Ondemandsniffer": {
      "description": "Configure on-demand packet sniffer. Applies to FortiOS Version `>= 7.4.4`.\n\n## Import\n\nFirewall OnDemandSniffer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ondemandsniffer:Ondemandsniffer labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ondemandsniffer:Ondemandsniffer labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "advancedFilter": {
          "type": "string",
          "description": "Advanced freeform filter that will be used over existing filter settings if set. Can only be used by super admin.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FOndemandsnifferHost:OndemandsnifferHost"
          },
          "description": "IPv4 or IPv6 hosts to filter in this traffic sniffer. The structure of `hosts` block is documented below.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name that on-demand packet sniffer will take place.\n"
        },
        "maxPacketCount": {
          "type": "integer",
          "description": "Maximum number of packets to capture per on-demand packet sniffer.\n"
        },
        "name": {
          "type": "string",
          "description": "On-demand packet sniffer name.\n"
        },
        "nonIpPacket": {
          "type": "string",
          "description": "Include non-IP packets. Valid values: `enable`, `disable`.\n"
        },
        "ports": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FOndemandsnifferPort:OndemandsnifferPort"
          },
          "description": "Ports to filter for in this traffic sniffer. The structure of `ports` block is documented below.\n"
        },
        "protocols": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FOndemandsnifferProtocol:OndemandsnifferProtocol"
          },
          "description": "Protocols to filter in this traffic sniffer. The structure of `protocols` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "interface",
        "maxPacketCount",
        "name",
        "nonIpPacket",
        "vdomparam"
      ],
      "inputProperties": {
        "advancedFilter": {
          "type": "string",
          "description": "Advanced freeform filter that will be used over existing filter settings if set. Can only be used by super admin.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hosts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FOndemandsnifferHost:OndemandsnifferHost"
          },
          "description": "IPv4 or IPv6 hosts to filter in this traffic sniffer. The structure of `hosts` block is documented below.\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name that on-demand packet sniffer will take place.\n"
        },
        "maxPacketCount": {
          "type": "integer",
          "description": "Maximum number of packets to capture per on-demand packet sniffer.\n"
        },
        "name": {
          "type": "string",
          "description": "On-demand packet sniffer name.\n"
        },
        "nonIpPacket": {
          "type": "string",
          "description": "Include non-IP packets. Valid values: `enable`, `disable`.\n"
        },
        "ports": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FOndemandsnifferPort:OndemandsnifferPort"
          },
          "description": "Ports to filter for in this traffic sniffer. The structure of `ports` block is documented below.\n"
        },
        "protocols": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FOndemandsnifferProtocol:OndemandsnifferProtocol"
          },
          "description": "Protocols to filter in this traffic sniffer. The structure of `protocols` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ondemandsniffer resources.\n",
        "properties": {
          "advancedFilter": {
            "type": "string",
            "description": "Advanced freeform filter that will be used over existing filter settings if set. Can only be used by super admin.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "hosts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FOndemandsnifferHost:OndemandsnifferHost"
            },
            "description": "IPv4 or IPv6 hosts to filter in this traffic sniffer. The structure of `hosts` block is documented below.\n"
          },
          "interface": {
            "type": "string",
            "description": "Interface name that on-demand packet sniffer will take place.\n"
          },
          "maxPacketCount": {
            "type": "integer",
            "description": "Maximum number of packets to capture per on-demand packet sniffer.\n"
          },
          "name": {
            "type": "string",
            "description": "On-demand packet sniffer name.\n"
          },
          "nonIpPacket": {
            "type": "string",
            "description": "Include non-IP packets. Valid values: `enable`, `disable`.\n"
          },
          "ports": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FOndemandsnifferPort:OndemandsnifferPort"
            },
            "description": "Ports to filter for in this traffic sniffer. The structure of `ports` block is documented below.\n"
          },
          "protocols": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FOndemandsnifferProtocol:OndemandsnifferProtocol"
            },
            "description": "Protocols to filter in this traffic sniffer. The structure of `protocols` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/policy46:Policy46": {
      "description": "Configure IPv4 to IPv6 policies. Applies to FortiOS Version `<= 7.0.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trnameVip46 = new fortios.firewall.Vip46(\"trnameVip46\", {\n    arpReply: \"enable\",\n    color: 0,\n    extip: \"10.1.100.55\",\n    extport: \"0-65535\",\n    fosid: 0,\n    ldbMethod: \"static\",\n    mappedip: \"2000:172:16:200::55\",\n    mappedport: \"0-65535\",\n    portforward: \"disable\",\n    protocol: \"tcp\",\n    type: \"static-nat\",\n});\nconst trnamePolicy46 = new fortios.firewall.Policy46(\"trnamePolicy46\", {\n    action: \"deny\",\n    dstintf: \"port3\",\n    fixedport: \"disable\",\n    ippool: \"disable\",\n    logtraffic: \"disable\",\n    permitAnyHost: \"disable\",\n    policyid: 2,\n    schedule: \"always\",\n    srcintf: \"port2\",\n    status: \"enable\",\n    tcpMssReceiver: 0,\n    tcpMssSender: 0,\n    dstaddrs: [{\n        name: trnameVip46.name,\n    }],\n    services: [{\n        name: \"ALL\",\n    }],\n    srcaddrs: [{\n        name: \"FIREWALL_AUTH_PORTAL_ADDRESS\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname_vip46 = fortios.firewall.Vip46(\"trnameVip46\",\n    arp_reply=\"enable\",\n    color=0,\n    extip=\"10.1.100.55\",\n    extport=\"0-65535\",\n    fosid=0,\n    ldb_method=\"static\",\n    mappedip=\"2000:172:16:200::55\",\n    mappedport=\"0-65535\",\n    portforward=\"disable\",\n    protocol=\"tcp\",\n    type=\"static-nat\")\ntrname_policy46 = fortios.firewall.Policy46(\"trnamePolicy46\",\n    action=\"deny\",\n    dstintf=\"port3\",\n    fixedport=\"disable\",\n    ippool=\"disable\",\n    logtraffic=\"disable\",\n    permit_any_host=\"disable\",\n    policyid=2,\n    schedule=\"always\",\n    srcintf=\"port2\",\n    status=\"enable\",\n    tcp_mss_receiver=0,\n    tcp_mss_sender=0,\n    dstaddrs=[fortios.firewall.Policy46DstaddrArgs(\n        name=trname_vip46.name,\n    )],\n    services=[fortios.firewall.Policy46ServiceArgs(\n        name=\"ALL\",\n    )],\n    srcaddrs=[fortios.firewall.Policy46SrcaddrArgs(\n        name=\"FIREWALL_AUTH_PORTAL_ADDRESS\",\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trnameVip46 = new Fortios.Firewall.Vip46(\"trnameVip46\", new()\n    {\n        ArpReply = \"enable\",\n        Color = 0,\n        Extip = \"10.1.100.55\",\n        Extport = \"0-65535\",\n        Fosid = 0,\n        LdbMethod = \"static\",\n        Mappedip = \"2000:172:16:200::55\",\n        Mappedport = \"0-65535\",\n        Portforward = \"disable\",\n        Protocol = \"tcp\",\n        Type = \"static-nat\",\n    });\n\n    var trnamePolicy46 = new Fortios.Firewall.Policy46(\"trnamePolicy46\", new()\n    {\n        Action = \"deny\",\n        Dstintf = \"port3\",\n        Fixedport = \"disable\",\n        Ippool = \"disable\",\n        Logtraffic = \"disable\",\n        PermitAnyHost = \"disable\",\n        Policyid = 2,\n        Schedule = \"always\",\n        Srcintf = \"port2\",\n        Status = \"enable\",\n        TcpMssReceiver = 0,\n        TcpMssSender = 0,\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy46DstaddrArgs\n            {\n                Name = trnameVip46.Name,\n            },\n        },\n        Services = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy46ServiceArgs\n            {\n                Name = \"ALL\",\n            },\n        },\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy46SrcaddrArgs\n            {\n                Name = \"FIREWALL_AUTH_PORTAL_ADDRESS\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrnameVip46, err := firewall.NewVip46(ctx, \"trnameVip46\", &firewall.Vip46Args{\n\t\t\tArpReply:    pulumi.String(\"enable\"),\n\t\t\tColor:       pulumi.Int(0),\n\t\t\tExtip:       pulumi.String(\"10.1.100.55\"),\n\t\t\tExtport:     pulumi.String(\"0-65535\"),\n\t\t\tFosid:       pulumi.Int(0),\n\t\t\tLdbMethod:   pulumi.String(\"static\"),\n\t\t\tMappedip:    pulumi.String(\"2000:172:16:200::55\"),\n\t\t\tMappedport:  pulumi.String(\"0-65535\"),\n\t\t\tPortforward: pulumi.String(\"disable\"),\n\t\t\tProtocol:    pulumi.String(\"tcp\"),\n\t\t\tType:        pulumi.String(\"static-nat\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewPolicy46(ctx, \"trnamePolicy46\", &firewall.Policy46Args{\n\t\t\tAction:         pulumi.String(\"deny\"),\n\t\t\tDstintf:        pulumi.String(\"port3\"),\n\t\t\tFixedport:      pulumi.String(\"disable\"),\n\t\t\tIppool:         pulumi.String(\"disable\"),\n\t\t\tLogtraffic:     pulumi.String(\"disable\"),\n\t\t\tPermitAnyHost:  pulumi.String(\"disable\"),\n\t\t\tPolicyid:       pulumi.Int(2),\n\t\t\tSchedule:       pulumi.String(\"always\"),\n\t\t\tSrcintf:        pulumi.String(\"port2\"),\n\t\t\tStatus:         pulumi.String(\"enable\"),\n\t\t\tTcpMssReceiver: pulumi.Int(0),\n\t\t\tTcpMssSender:   pulumi.Int(0),\n\t\t\tDstaddrs: firewall.Policy46DstaddrArray{\n\t\t\t\t&firewall.Policy46DstaddrArgs{\n\t\t\t\t\tName: trnameVip46.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t\tServices: firewall.Policy46ServiceArray{\n\t\t\t\t&firewall.Policy46ServiceArgs{\n\t\t\t\t\tName: pulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcaddrs: firewall.Policy46SrcaddrArray{\n\t\t\t\t&firewall.Policy46SrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"FIREWALL_AUTH_PORTAL_ADDRESS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Vip46;\nimport com.pulumi.fortios.firewall.Vip46Args;\nimport com.pulumi.fortios.firewall.Policy46;\nimport com.pulumi.fortios.firewall.Policy46Args;\nimport com.pulumi.fortios.firewall.inputs.Policy46DstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.Policy46ServiceArgs;\nimport com.pulumi.fortios.firewall.inputs.Policy46SrcaddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trnameVip46 = new Vip46(\"trnameVip46\", Vip46Args.builder()\n            .arpReply(\"enable\")\n            .color(0)\n            .extip(\"10.1.100.55\")\n            .extport(\"0-65535\")\n            .fosid(0)\n            .ldbMethod(\"static\")\n            .mappedip(\"2000:172:16:200::55\")\n            .mappedport(\"0-65535\")\n            .portforward(\"disable\")\n            .protocol(\"tcp\")\n            .type(\"static-nat\")\n            .build());\n\n        var trnamePolicy46 = new Policy46(\"trnamePolicy46\", Policy46Args.builder()\n            .action(\"deny\")\n            .dstintf(\"port3\")\n            .fixedport(\"disable\")\n            .ippool(\"disable\")\n            .logtraffic(\"disable\")\n            .permitAnyHost(\"disable\")\n            .policyid(2)\n            .schedule(\"always\")\n            .srcintf(\"port2\")\n            .status(\"enable\")\n            .tcpMssReceiver(0)\n            .tcpMssSender(0)\n            .dstaddrs(Policy46DstaddrArgs.builder()\n                .name(trnameVip46.name())\n                .build())\n            .services(Policy46ServiceArgs.builder()\n                .name(\"ALL\")\n                .build())\n            .srcaddrs(Policy46SrcaddrArgs.builder()\n                .name(\"FIREWALL_AUTH_PORTAL_ADDRESS\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trnameVip46:\n    type: fortios:firewall:Vip46\n    properties:\n      arpReply: enable\n      color: 0\n      extip: 10.1.100.55\n      extport: 0-65535\n      fosid: 0\n      ldbMethod: static\n      mappedip: 2000:172:16:200::55\n      mappedport: 0-65535\n      portforward: disable\n      protocol: tcp\n      type: static-nat\n  trnamePolicy46:\n    type: fortios:firewall:Policy46\n    properties:\n      action: deny\n      dstintf: port3\n      fixedport: disable\n      ippool: disable\n      logtraffic: disable\n      permitAnyHost: disable\n      policyid: 2\n      schedule: always\n      srcintf: port2\n      status: enable\n      tcpMssReceiver: 0\n      tcpMssSender: 0\n      dstaddrs:\n        - name: ${trnameVip46.name}\n      services:\n        - name: ALL\n      srcaddrs:\n        - name: FIREWALL_AUTH_PORTAL_ADDRESS\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Policy46 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/policy46:Policy46 labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/policy46:Policy46 labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Accept or deny traffic matching the policy. Valid values: `accept`, `deny`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy46Dstaddr:Policy46Dstaddr"
          },
          "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "Destination interface name.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable/disable fixed port for this policy. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable/disable use of IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable/disable traffic logging for this policy. Valid values: `enable`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts and ends. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per IP traffic shaper.\n"
        },
        "permitAnyHost": {
          "type": "string",
          "description": "Enable/disable allowing any host. Valid values: `enable`, `disable`.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "poolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy46Poolname:Policy46Poolname"
          },
          "description": "IP Pool names. The structure of `poolname` block is documented below.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy46Service:Policy46Service"
          },
          "description": "Service name. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy46Srcaddr:Policy46Srcaddr"
          },
          "description": "Source address objects. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Source interface name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "tcpMssReceiver": {
          "type": "integer",
          "description": "TCP Maximum Segment Size value of receiver (0 - 65535, default = 0)\n"
        },
        "tcpMssSender": {
          "type": "integer",
          "description": "TCP Maximum Segment Size value of sender (0 - 65535, default = 0).\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "dstaddrs",
        "dstintf",
        "fixedport",
        "ippool",
        "logtraffic",
        "logtrafficStart",
        "name",
        "perIpShaper",
        "permitAnyHost",
        "policyid",
        "schedule",
        "srcaddrs",
        "srcintf",
        "status",
        "tcpMssReceiver",
        "tcpMssSender",
        "trafficShaper",
        "trafficShaperReverse",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Accept or deny traffic matching the policy. Valid values: `accept`, `deny`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy46Dstaddr:Policy46Dstaddr"
          },
          "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "Destination interface name.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable/disable fixed port for this policy. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable/disable use of IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable/disable traffic logging for this policy. Valid values: `enable`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts and ends. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per IP traffic shaper.\n"
        },
        "permitAnyHost": {
          "type": "string",
          "description": "Enable/disable allowing any host. Valid values: `enable`, `disable`.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "poolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy46Poolname:Policy46Poolname"
          },
          "description": "IP Pool names. The structure of `poolname` block is documented below.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy46Service:Policy46Service"
          },
          "description": "Service name. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy46Srcaddr:Policy46Srcaddr"
          },
          "description": "Source address objects. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Source interface name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "tcpMssReceiver": {
          "type": "integer",
          "description": "TCP Maximum Segment Size value of receiver (0 - 65535, default = 0)\n"
        },
        "tcpMssSender": {
          "type": "integer",
          "description": "TCP Maximum Segment Size value of sender (0 - 65535, default = 0).\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "dstintf",
        "schedule",
        "srcaddrs",
        "srcintf"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Policy46 resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Accept or deny traffic matching the policy. Valid values: `accept`, `deny`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy46Dstaddr:Policy46Dstaddr"
            },
            "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n"
          },
          "dstintf": {
            "type": "string",
            "description": "Destination interface name.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fixedport": {
            "type": "string",
            "description": "Enable/disable fixed port for this policy. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ippool": {
            "type": "string",
            "description": "Enable/disable use of IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Enable/disable traffic logging for this policy. Valid values: `enable`, `disable`.\n"
          },
          "logtrafficStart": {
            "type": "string",
            "description": "Record logs when a session starts and ends. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "perIpShaper": {
            "type": "string",
            "description": "Per IP traffic shaper.\n"
          },
          "permitAnyHost": {
            "type": "string",
            "description": "Enable/disable allowing any host. Valid values: `enable`, `disable`.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "poolnames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy46Poolname:Policy46Poolname"
            },
            "description": "IP Pool names. The structure of `poolname` block is documented below.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Schedule name.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy46Service:Policy46Service"
            },
            "description": "Service name. The structure of `service` block is documented below.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy46Srcaddr:Policy46Srcaddr"
            },
            "description": "Source address objects. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintf": {
            "type": "string",
            "description": "Source interface name.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "tcpMssReceiver": {
            "type": "integer",
            "description": "TCP Maximum Segment Size value of receiver (0 - 65535, default = 0)\n"
          },
          "tcpMssSender": {
            "type": "integer",
            "description": "TCP Maximum Segment Size value of sender (0 - 65535, default = 0).\n"
          },
          "trafficShaper": {
            "type": "string",
            "description": "Traffic shaper.\n"
          },
          "trafficShaperReverse": {
            "type": "string",
            "description": "Reverse traffic shaper.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/policy64:Policy64": {
      "description": "Configure IPv6 to IPv4 policies. Applies to FortiOS Version `<= 7.0.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Policy64(\"trname\", {\n    action: \"accept\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    dstintf: \"port4\",\n    fixedport: \"disable\",\n    ippool: \"disable\",\n    logtraffic: \"disable\",\n    permitAnyHost: \"disable\",\n    policyid: 1,\n    schedule: \"always\",\n    services: [{\n        name: \"ALL\",\n    }],\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    srcintf: \"port3\",\n    status: \"enable\",\n    tcpMssReceiver: 0,\n    tcpMssSender: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Policy64(\"trname\",\n    action=\"accept\",\n    dstaddrs=[fortios.firewall.Policy64DstaddrArgs(\n        name=\"all\",\n    )],\n    dstintf=\"port4\",\n    fixedport=\"disable\",\n    ippool=\"disable\",\n    logtraffic=\"disable\",\n    permit_any_host=\"disable\",\n    policyid=1,\n    schedule=\"always\",\n    services=[fortios.firewall.Policy64ServiceArgs(\n        name=\"ALL\",\n    )],\n    srcaddrs=[fortios.firewall.Policy64SrcaddrArgs(\n        name=\"all\",\n    )],\n    srcintf=\"port3\",\n    status=\"enable\",\n    tcp_mss_receiver=0,\n    tcp_mss_sender=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Policy64(\"trname\", new()\n    {\n        Action = \"accept\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy64DstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Dstintf = \"port4\",\n        Fixedport = \"disable\",\n        Ippool = \"disable\",\n        Logtraffic = \"disable\",\n        PermitAnyHost = \"disable\",\n        Policyid = 1,\n        Schedule = \"always\",\n        Services = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy64ServiceArgs\n            {\n                Name = \"ALL\",\n            },\n        },\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy64SrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Srcintf = \"port3\",\n        Status = \"enable\",\n        TcpMssReceiver = 0,\n        TcpMssSender = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewPolicy64(ctx, \"trname\", &firewall.Policy64Args{\n\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\tDstaddrs: firewall.Policy64DstaddrArray{\n\t\t\t\t&firewall.Policy64DstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDstintf:       pulumi.String(\"port4\"),\n\t\t\tFixedport:     pulumi.String(\"disable\"),\n\t\t\tIppool:        pulumi.String(\"disable\"),\n\t\t\tLogtraffic:    pulumi.String(\"disable\"),\n\t\t\tPermitAnyHost: pulumi.String(\"disable\"),\n\t\t\tPolicyid:      pulumi.Int(1),\n\t\t\tSchedule:      pulumi.String(\"always\"),\n\t\t\tServices: firewall.Policy64ServiceArray{\n\t\t\t\t&firewall.Policy64ServiceArgs{\n\t\t\t\t\tName: pulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcaddrs: firewall.Policy64SrcaddrArray{\n\t\t\t\t&firewall.Policy64SrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcintf:        pulumi.String(\"port3\"),\n\t\t\tStatus:         pulumi.String(\"enable\"),\n\t\t\tTcpMssReceiver: pulumi.Int(0),\n\t\t\tTcpMssSender:   pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Policy64;\nimport com.pulumi.fortios.firewall.Policy64Args;\nimport com.pulumi.fortios.firewall.inputs.Policy64DstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.Policy64ServiceArgs;\nimport com.pulumi.fortios.firewall.inputs.Policy64SrcaddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Policy64(\"trname\", Policy64Args.builder()\n            .action(\"accept\")\n            .dstaddrs(Policy64DstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .dstintf(\"port4\")\n            .fixedport(\"disable\")\n            .ippool(\"disable\")\n            .logtraffic(\"disable\")\n            .permitAnyHost(\"disable\")\n            .policyid(1)\n            .schedule(\"always\")\n            .services(Policy64ServiceArgs.builder()\n                .name(\"ALL\")\n                .build())\n            .srcaddrs(Policy64SrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .srcintf(\"port3\")\n            .status(\"enable\")\n            .tcpMssReceiver(0)\n            .tcpMssSender(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Policy64\n    properties:\n      action: accept\n      dstaddrs:\n        - name: all\n      dstintf: port4\n      fixedport: disable\n      ippool: disable\n      logtraffic: disable\n      permitAnyHost: disable\n      policyid: 1\n      schedule: always\n      services:\n        - name: ALL\n      srcaddrs:\n        - name: all\n      srcintf: port3\n      status: enable\n      tcpMssReceiver: 0\n      tcpMssSender: 0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Policy64 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/policy64:Policy64 labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/policy64:Policy64 labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Policy action. Valid values: `accept`, `deny`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy64Dstaddr:Policy64Dstaddr"
          },
          "description": "Destination address name. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "Destination interface name.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable/disable policy fixed port. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable/disable policy64 IP pool. Valid values: `enable`, `disable`.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable/disable policy log traffic. Valid values: `enable`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts and ends. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper.\n"
        },
        "permitAnyHost": {
          "type": "string",
          "description": "Enable/disable permit any host in. Valid values: `enable`, `disable`.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "poolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy64Poolname:Policy64Poolname"
          },
          "description": "Policy IP pool names. The structure of `poolname` block is documented below.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy64Service:Policy64Service"
          },
          "description": "Service name. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy64Srcaddr:Policy64Srcaddr"
          },
          "description": "Source address name. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Source interface name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable policy status. Valid values: `enable`, `disable`.\n"
        },
        "tcpMssReceiver": {
          "type": "integer",
          "description": "TCP MSS value of receiver.\n"
        },
        "tcpMssSender": {
          "type": "integer",
          "description": "TCP MSS value of sender.\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "dstaddrs",
        "dstintf",
        "fixedport",
        "ippool",
        "logtraffic",
        "logtrafficStart",
        "name",
        "perIpShaper",
        "permitAnyHost",
        "policyid",
        "schedule",
        "srcaddrs",
        "srcintf",
        "status",
        "tcpMssReceiver",
        "tcpMssSender",
        "trafficShaper",
        "trafficShaperReverse",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Policy action. Valid values: `accept`, `deny`.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy64Dstaddr:Policy64Dstaddr"
          },
          "description": "Destination address name. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintf": {
          "type": "string",
          "description": "Destination interface name.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable/disable policy fixed port. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable/disable policy64 IP pool. Valid values: `enable`, `disable`.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable/disable policy log traffic. Valid values: `enable`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts and ends. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper.\n"
        },
        "permitAnyHost": {
          "type": "string",
          "description": "Enable/disable permit any host in. Valid values: `enable`, `disable`.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "poolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy64Poolname:Policy64Poolname"
          },
          "description": "Policy IP pool names. The structure of `poolname` block is documented below.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy64Service:Policy64Service"
          },
          "description": "Service name. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy64Srcaddr:Policy64Srcaddr"
          },
          "description": "Source address name. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Source interface name.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable policy status. Valid values: `enable`, `disable`.\n"
        },
        "tcpMssReceiver": {
          "type": "integer",
          "description": "TCP MSS value of receiver.\n"
        },
        "tcpMssSender": {
          "type": "integer",
          "description": "TCP MSS value of sender.\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "dstintf",
        "schedule",
        "srcaddrs",
        "srcintf"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Policy64 resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Policy action. Valid values: `accept`, `deny`.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy64Dstaddr:Policy64Dstaddr"
            },
            "description": "Destination address name. The structure of `dstaddr` block is documented below.\n"
          },
          "dstintf": {
            "type": "string",
            "description": "Destination interface name.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fixedport": {
            "type": "string",
            "description": "Enable/disable policy fixed port. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ippool": {
            "type": "string",
            "description": "Enable/disable policy64 IP pool. Valid values: `enable`, `disable`.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Enable/disable policy log traffic. Valid values: `enable`, `disable`.\n"
          },
          "logtrafficStart": {
            "type": "string",
            "description": "Record logs when a session starts and ends. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "perIpShaper": {
            "type": "string",
            "description": "Per-IP traffic shaper.\n"
          },
          "permitAnyHost": {
            "type": "string",
            "description": "Enable/disable permit any host in. Valid values: `enable`, `disable`.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "poolnames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy64Poolname:Policy64Poolname"
            },
            "description": "Policy IP pool names. The structure of `poolname` block is documented below.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Schedule name.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy64Service:Policy64Service"
            },
            "description": "Service name. The structure of `service` block is documented below.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy64Srcaddr:Policy64Srcaddr"
            },
            "description": "Source address name. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintf": {
            "type": "string",
            "description": "Source interface name.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable policy status. Valid values: `enable`, `disable`.\n"
          },
          "tcpMssReceiver": {
            "type": "integer",
            "description": "TCP MSS value of receiver.\n"
          },
          "tcpMssSender": {
            "type": "integer",
            "description": "TCP MSS value of sender.\n"
          },
          "trafficShaper": {
            "type": "string",
            "description": "Traffic shaper.\n"
          },
          "trafficShaperReverse": {
            "type": "string",
            "description": "Reverse traffic shaper.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/policy6:Policy6": {
      "description": "Configure IPv6 policies. Applies to FortiOS Version `<= 6.4.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Policy6(\"trname\", {\n    action: \"deny\",\n    diffservForward: \"disable\",\n    diffservReverse: \"disable\",\n    diffservcodeForward: \"000000\",\n    diffservcodeRev: \"000000\",\n    dsri: \"disable\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    dstaddrNegate: \"disable\",\n    dstintfs: [{\n        name: \"port3\",\n    }],\n    firewallSessionDirty: \"check-all\",\n    fixedport: \"disable\",\n    inbound: \"disable\",\n    ippool: \"disable\",\n    logtraffic: \"disable\",\n    logtrafficStart: \"disable\",\n    nat: \"disable\",\n    natinbound: \"disable\",\n    natoutbound: \"disable\",\n    outbound: \"disable\",\n    policyid: 1,\n    profileProtocolOptions: \"default\",\n    profileType: \"single\",\n    rsso: \"disable\",\n    schedule: \"always\",\n    sendDenyPacket: \"disable\",\n    services: [{\n        name: \"ALL\",\n    }],\n    serviceNegate: \"disable\",\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    srcaddrNegate: \"disable\",\n    srcintfs: [{\n        name: \"port4\",\n    }],\n    sslMirror: \"disable\",\n    status: \"enable\",\n    tcpMssReceiver: 0,\n    tcpMssSender: 0,\n    tcpSessionWithoutSyn: \"disable\",\n    timeoutSendRst: \"disable\",\n    tos: \"0x00\",\n    tosMask: \"0x00\",\n    tosNegate: \"disable\",\n    utmStatus: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Policy6(\"trname\",\n    action=\"deny\",\n    diffserv_forward=\"disable\",\n    diffserv_reverse=\"disable\",\n    diffservcode_forward=\"000000\",\n    diffservcode_rev=\"000000\",\n    dsri=\"disable\",\n    dstaddrs=[fortios.firewall.Policy6DstaddrArgs(\n        name=\"all\",\n    )],\n    dstaddr_negate=\"disable\",\n    dstintfs=[fortios.firewall.Policy6DstintfArgs(\n        name=\"port3\",\n    )],\n    firewall_session_dirty=\"check-all\",\n    fixedport=\"disable\",\n    inbound=\"disable\",\n    ippool=\"disable\",\n    logtraffic=\"disable\",\n    logtraffic_start=\"disable\",\n    nat=\"disable\",\n    natinbound=\"disable\",\n    natoutbound=\"disable\",\n    outbound=\"disable\",\n    policyid=1,\n    profile_protocol_options=\"default\",\n    profile_type=\"single\",\n    rsso=\"disable\",\n    schedule=\"always\",\n    send_deny_packet=\"disable\",\n    services=[fortios.firewall.Policy6ServiceArgs(\n        name=\"ALL\",\n    )],\n    service_negate=\"disable\",\n    srcaddrs=[fortios.firewall.Policy6SrcaddrArgs(\n        name=\"all\",\n    )],\n    srcaddr_negate=\"disable\",\n    srcintfs=[fortios.firewall.Policy6SrcintfArgs(\n        name=\"port4\",\n    )],\n    ssl_mirror=\"disable\",\n    status=\"enable\",\n    tcp_mss_receiver=0,\n    tcp_mss_sender=0,\n    tcp_session_without_syn=\"disable\",\n    timeout_send_rst=\"disable\",\n    tos=\"0x00\",\n    tos_mask=\"0x00\",\n    tos_negate=\"disable\",\n    utm_status=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Policy6(\"trname\", new()\n    {\n        Action = \"deny\",\n        DiffservForward = \"disable\",\n        DiffservReverse = \"disable\",\n        DiffservcodeForward = \"000000\",\n        DiffservcodeRev = \"000000\",\n        Dsri = \"disable\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy6DstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        DstaddrNegate = \"disable\",\n        Dstintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy6DstintfArgs\n            {\n                Name = \"port3\",\n            },\n        },\n        FirewallSessionDirty = \"check-all\",\n        Fixedport = \"disable\",\n        Inbound = \"disable\",\n        Ippool = \"disable\",\n        Logtraffic = \"disable\",\n        LogtrafficStart = \"disable\",\n        Nat = \"disable\",\n        Natinbound = \"disable\",\n        Natoutbound = \"disable\",\n        Outbound = \"disable\",\n        Policyid = 1,\n        ProfileProtocolOptions = \"default\",\n        ProfileType = \"single\",\n        Rsso = \"disable\",\n        Schedule = \"always\",\n        SendDenyPacket = \"disable\",\n        Services = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy6ServiceArgs\n            {\n                Name = \"ALL\",\n            },\n        },\n        ServiceNegate = \"disable\",\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy6SrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        SrcaddrNegate = \"disable\",\n        Srcintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.Policy6SrcintfArgs\n            {\n                Name = \"port4\",\n            },\n        },\n        SslMirror = \"disable\",\n        Status = \"enable\",\n        TcpMssReceiver = 0,\n        TcpMssSender = 0,\n        TcpSessionWithoutSyn = \"disable\",\n        TimeoutSendRst = \"disable\",\n        Tos = \"0x00\",\n        TosMask = \"0x00\",\n        TosNegate = \"disable\",\n        UtmStatus = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewPolicy6(ctx, \"trname\", &firewall.Policy6Args{\n\t\t\tAction:              pulumi.String(\"deny\"),\n\t\t\tDiffservForward:     pulumi.String(\"disable\"),\n\t\t\tDiffservReverse:     pulumi.String(\"disable\"),\n\t\t\tDiffservcodeForward: pulumi.String(\"000000\"),\n\t\t\tDiffservcodeRev:     pulumi.String(\"000000\"),\n\t\t\tDsri:                pulumi.String(\"disable\"),\n\t\t\tDstaddrs: firewall.Policy6DstaddrArray{\n\t\t\t\t&firewall.Policy6DstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDstaddrNegate: pulumi.String(\"disable\"),\n\t\t\tDstintfs: firewall.Policy6DstintfArray{\n\t\t\t\t&firewall.Policy6DstintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFirewallSessionDirty:   pulumi.String(\"check-all\"),\n\t\t\tFixedport:              pulumi.String(\"disable\"),\n\t\t\tInbound:                pulumi.String(\"disable\"),\n\t\t\tIppool:                 pulumi.String(\"disable\"),\n\t\t\tLogtraffic:             pulumi.String(\"disable\"),\n\t\t\tLogtrafficStart:        pulumi.String(\"disable\"),\n\t\t\tNat:                    pulumi.String(\"disable\"),\n\t\t\tNatinbound:             pulumi.String(\"disable\"),\n\t\t\tNatoutbound:            pulumi.String(\"disable\"),\n\t\t\tOutbound:               pulumi.String(\"disable\"),\n\t\t\tPolicyid:               pulumi.Int(1),\n\t\t\tProfileProtocolOptions: pulumi.String(\"default\"),\n\t\t\tProfileType:            pulumi.String(\"single\"),\n\t\t\tRsso:                   pulumi.String(\"disable\"),\n\t\t\tSchedule:               pulumi.String(\"always\"),\n\t\t\tSendDenyPacket:         pulumi.String(\"disable\"),\n\t\t\tServices: firewall.Policy6ServiceArray{\n\t\t\t\t&firewall.Policy6ServiceArgs{\n\t\t\t\t\tName: pulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServiceNegate: pulumi.String(\"disable\"),\n\t\t\tSrcaddrs: firewall.Policy6SrcaddrArray{\n\t\t\t\t&firewall.Policy6SrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcaddrNegate: pulumi.String(\"disable\"),\n\t\t\tSrcintfs: firewall.Policy6SrcintfArray{\n\t\t\t\t&firewall.Policy6SrcintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSslMirror:            pulumi.String(\"disable\"),\n\t\t\tStatus:               pulumi.String(\"enable\"),\n\t\t\tTcpMssReceiver:       pulumi.Int(0),\n\t\t\tTcpMssSender:         pulumi.Int(0),\n\t\t\tTcpSessionWithoutSyn: pulumi.String(\"disable\"),\n\t\t\tTimeoutSendRst:       pulumi.String(\"disable\"),\n\t\t\tTos:                  pulumi.String(\"0x00\"),\n\t\t\tTosMask:              pulumi.String(\"0x00\"),\n\t\t\tTosNegate:            pulumi.String(\"disable\"),\n\t\t\tUtmStatus:            pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Policy6;\nimport com.pulumi.fortios.firewall.Policy6Args;\nimport com.pulumi.fortios.firewall.inputs.Policy6DstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.Policy6DstintfArgs;\nimport com.pulumi.fortios.firewall.inputs.Policy6ServiceArgs;\nimport com.pulumi.fortios.firewall.inputs.Policy6SrcaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.Policy6SrcintfArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Policy6(\"trname\", Policy6Args.builder()\n            .action(\"deny\")\n            .diffservForward(\"disable\")\n            .diffservReverse(\"disable\")\n            .diffservcodeForward(\"000000\")\n            .diffservcodeRev(\"000000\")\n            .dsri(\"disable\")\n            .dstaddrs(Policy6DstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .dstaddrNegate(\"disable\")\n            .dstintfs(Policy6DstintfArgs.builder()\n                .name(\"port3\")\n                .build())\n            .firewallSessionDirty(\"check-all\")\n            .fixedport(\"disable\")\n            .inbound(\"disable\")\n            .ippool(\"disable\")\n            .logtraffic(\"disable\")\n            .logtrafficStart(\"disable\")\n            .nat(\"disable\")\n            .natinbound(\"disable\")\n            .natoutbound(\"disable\")\n            .outbound(\"disable\")\n            .policyid(1)\n            .profileProtocolOptions(\"default\")\n            .profileType(\"single\")\n            .rsso(\"disable\")\n            .schedule(\"always\")\n            .sendDenyPacket(\"disable\")\n            .services(Policy6ServiceArgs.builder()\n                .name(\"ALL\")\n                .build())\n            .serviceNegate(\"disable\")\n            .srcaddrs(Policy6SrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .srcaddrNegate(\"disable\")\n            .srcintfs(Policy6SrcintfArgs.builder()\n                .name(\"port4\")\n                .build())\n            .sslMirror(\"disable\")\n            .status(\"enable\")\n            .tcpMssReceiver(0)\n            .tcpMssSender(0)\n            .tcpSessionWithoutSyn(\"disable\")\n            .timeoutSendRst(\"disable\")\n            .tos(\"0x00\")\n            .tosMask(\"0x00\")\n            .tosNegate(\"disable\")\n            .utmStatus(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Policy6\n    properties:\n      action: deny\n      diffservForward: disable\n      diffservReverse: disable\n      diffservcodeForward: '000000'\n      diffservcodeRev: '000000'\n      dsri: disable\n      dstaddrs:\n        - name: all\n      dstaddrNegate: disable\n      dstintfs:\n        - name: port3\n      firewallSessionDirty: check-all\n      fixedport: disable\n      inbound: disable\n      ippool: disable\n      logtraffic: disable\n      logtrafficStart: disable\n      nat: disable\n      natinbound: disable\n      natoutbound: disable\n      outbound: disable\n      policyid: 1\n      profileProtocolOptions: default\n      profileType: single\n      rsso: disable\n      schedule: always\n      sendDenyPacket: disable\n      services:\n        - name: ALL\n      serviceNegate: disable\n      srcaddrs:\n        - name: all\n      srcaddrNegate: disable\n      srcintfs:\n        - name: port4\n      sslMirror: disable\n      status: enable\n      tcpMssReceiver: 0\n      tcpMssSender: 0\n      tcpSessionWithoutSyn: disable\n      timeoutSendRst: disable\n      tos: 0x00\n      tosMask: 0x00\n      tosNegate: disable\n      utmStatus: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Policy6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/policy6:Policy6 labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/policy6:Policy6 labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Policy action (allow/deny/ipsec). Valid values: `accept`, `deny`, `ipsec`.\n"
        },
        "antiReplay": {
          "type": "string",
          "description": "Enable/disable anti-replay check. Valid values: `enable`, `disable`.\n"
        },
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6AppCategory:Policy6AppCategory"
          },
          "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
        },
        "appGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6AppGroup:Policy6AppGroup"
          },
          "description": "Application group names. The structure of `app_group` block is documented below.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Application:Policy6Application"
          },
          "description": "Application ID list. The structure of `application` block is documented below.\n"
        },
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable policy traffic ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "customLogFields": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6CustomLogField:Policy6CustomLogField"
          },
          "description": "Log field index numbers to append custom log fields to log messages for this policy. The structure of `custom_log_fields` block is documented below.\n"
        },
        "decryptedTrafficMirror": {
          "type": "string",
          "description": "Decrypted traffic mirror.\n"
        },
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Device:Policy6Device"
          },
          "description": "Names of devices or device groups that can be matched by the policy. The structure of `devices` block is documented below.\n"
        },
        "diffservForward": {
          "type": "string",
          "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
        },
        "diffservReverse": {
          "type": "string",
          "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.\n"
        },
        "diffservcodeForward": {
          "type": "string",
          "description": "Change packet's DiffServ to this value.\n"
        },
        "diffservcodeRev": {
          "type": "string",
          "description": "Change packet's reverse (reply) DiffServ to this value.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dnsfilterProfile": {
          "type": "string",
          "description": "Name of an existing DNS filter profile.\n"
        },
        "dsri": {
          "type": "string",
          "description": "Enable DSRI to ignore HTTP server responses. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Dstaddr:Policy6Dstaddr"
          },
          "description": "Destination address and address group names. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Dstintf:Policy6Dstintf"
          },
          "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "firewallSessionDirty": {
          "type": "string",
          "description": "How to handle sessions if the configuration of this firewall policy changes. Valid values: `check-all`, `check-new`.\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable to prevent source NAT from changing a session's source port. Valid values: `enable`, `disable`.\n"
        },
        "fssoGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6FssoGroup:Policy6FssoGroup"
          },
          "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "globalLabel": {
          "type": "string",
          "description": "Label for the policy that appears when the GUI is in Global View mode.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Group:Policy6Group"
          },
          "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
        },
        "httpPolicyRedirect": {
          "type": "string",
          "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "inbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Policy inspection mode (Flow/proxy). Default is Flow mode. Valid values: `proxy`, `flow`.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable to use IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "label": {
          "type": "string",
          "description": "Label for the policy that appears when the GUI is in Section View mode.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable source NAT. Valid values: `enable`, `disable`.\n"
        },
        "natinbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: apply destination NAT to inbound traffic. Valid values: `enable`, `disable`.\n"
        },
        "natoutbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: apply source NAT to outbound traffic. Valid values: `enable`, `disable`.\n"
        },
        "outbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "poolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Poolname:Policy6Poolname"
          },
          "description": "IP Pool names. The structure of `poolname` block is documented below.\n"
        },
        "profileGroup": {
          "type": "string",
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
        },
        "replacemsgOverrideGroup": {
          "type": "string",
          "description": "Override the default replacement message group for this policy.\n"
        },
        "rsso": {
          "type": "string",
          "description": "Enable/disable RADIUS single sign-on (RSSO). Valid values: `enable`, `disable`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "sendDenyPacket": {
          "type": "string",
          "description": "Enable/disable return of deny-packet. Valid values: `enable`, `disable`.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Service:Policy6Service"
          },
          "description": "Service and service group names. The structure of `service` block is documented below.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "Session TTL in seconds for sessions accepted by this policy. 0 means use the system default session TTL.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing Spam filter profile.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Srcaddr:Policy6Srcaddr"
          },
          "description": "Source address and address group names. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Srcintf:Policy6Srcintf"
          },
          "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sshPolicyRedirect": {
          "type": "string",
          "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "sslMirror": {
          "type": "string",
          "description": "Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring). Valid values: `enable`, `disable`.\n"
        },
        "sslMirrorIntfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6SslMirrorIntf:Policy6SslMirrorIntf"
          },
          "description": "SSL mirror interface name. The structure of `ssl_mirror_intf` block is documented below.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "tcpMssReceiver": {
          "type": "integer",
          "description": "Receiver TCP maximum segment size (MSS).\n"
        },
        "tcpMssSender": {
          "type": "integer",
          "description": "Sender TCP maximum segment size (MSS).\n"
        },
        "tcpSessionWithoutSyn": {
          "type": "string",
          "description": "Enable/disable creation of TCP session without SYN flag. Valid values: `all`, `data-only`, `disable`.\n"
        },
        "timeoutSendRst": {
          "type": "string",
          "description": "Enable/disable sending RST packets when TCP sessions expire. Valid values: `enable`, `disable`.\n"
        },
        "tos": {
          "type": "string",
          "description": "ToS (Type of Service) value used for comparison.\n"
        },
        "tosMask": {
          "type": "string",
          "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n"
        },
        "tosNegate": {
          "type": "string",
          "description": "Enable negated TOS match. Valid values: `enable`, `disable`.\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "urlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6UrlCategory:Policy6UrlCategory"
          },
          "description": "URL category ID list. The structure of `url_category` block is documented below.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6User:Policy6User"
          },
          "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable AV/web/ips protection profile. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vlanCosFwd": {
          "type": "integer",
          "description": "VLAN forward direction user priority: 255 passthrough, 0 lowest, 7 highest\n"
        },
        "vlanCosRev": {
          "type": "integer",
          "description": "VLAN reverse direction user priority: 255 passthrough, 0 lowest, 7 highest\n"
        },
        "vlanFilter": {
          "type": "string",
          "description": "Set VLAN filters.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP profile.\n"
        },
        "vpntunnel": {
          "type": "string",
          "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n"
        },
        "wafProfile": {
          "type": "string",
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "webcache": {
          "type": "string",
          "description": "Enable/disable web cache. Valid values: `enable`, `disable`.\n"
        },
        "webcacheHttps": {
          "type": "string",
          "description": "Enable/disable web cache for HTTPS. Valid values: `disable`, `enable`.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        },
        "webproxyForwardServer": {
          "type": "string",
          "description": "Web proxy forward server name.\n"
        },
        "webproxyProfile": {
          "type": "string",
          "description": "Webproxy profile name.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "antiReplay",
        "applicationList",
        "autoAsicOffload",
        "avProfile",
        "cifsProfile",
        "decryptedTrafficMirror",
        "diffservForward",
        "diffservReverse",
        "diffservcodeForward",
        "diffservcodeRev",
        "dlpSensor",
        "dnsfilterProfile",
        "dsri",
        "dstaddrNegate",
        "dstaddrs",
        "dstintfs",
        "emailfilterProfile",
        "firewallSessionDirty",
        "fixedport",
        "globalLabel",
        "httpPolicyRedirect",
        "icapProfile",
        "inbound",
        "inspectionMode",
        "ippool",
        "ipsSensor",
        "label",
        "logtraffic",
        "logtrafficStart",
        "name",
        "nat",
        "natinbound",
        "natoutbound",
        "outbound",
        "perIpShaper",
        "policyid",
        "profileGroup",
        "profileProtocolOptions",
        "profileType",
        "replacemsgOverrideGroup",
        "rsso",
        "schedule",
        "sendDenyPacket",
        "serviceNegate",
        "sessionTtl",
        "spamfilterProfile",
        "srcaddrNegate",
        "srcaddrs",
        "srcintfs",
        "sshFilterProfile",
        "sshPolicyRedirect",
        "sslMirror",
        "sslSshProfile",
        "status",
        "tcpMssReceiver",
        "tcpMssSender",
        "tcpSessionWithoutSyn",
        "timeoutSendRst",
        "tos",
        "tosMask",
        "tosNegate",
        "trafficShaper",
        "trafficShaperReverse",
        "utmStatus",
        "uuid",
        "vdomparam",
        "vlanCosFwd",
        "vlanCosRev",
        "vlanFilter",
        "voipProfile",
        "vpntunnel",
        "wafProfile",
        "webcache",
        "webcacheHttps",
        "webfilterProfile",
        "webproxyForwardServer",
        "webproxyProfile"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Policy action (allow/deny/ipsec). Valid values: `accept`, `deny`, `ipsec`.\n"
        },
        "antiReplay": {
          "type": "string",
          "description": "Enable/disable anti-replay check. Valid values: `enable`, `disable`.\n"
        },
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6AppCategory:Policy6AppCategory"
          },
          "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
        },
        "appGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6AppGroup:Policy6AppGroup"
          },
          "description": "Application group names. The structure of `app_group` block is documented below.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Application:Policy6Application"
          },
          "description": "Application ID list. The structure of `application` block is documented below.\n"
        },
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable policy traffic ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "customLogFields": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6CustomLogField:Policy6CustomLogField"
          },
          "description": "Log field index numbers to append custom log fields to log messages for this policy. The structure of `custom_log_fields` block is documented below.\n"
        },
        "decryptedTrafficMirror": {
          "type": "string",
          "description": "Decrypted traffic mirror.\n"
        },
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Device:Policy6Device"
          },
          "description": "Names of devices or device groups that can be matched by the policy. The structure of `devices` block is documented below.\n"
        },
        "diffservForward": {
          "type": "string",
          "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
        },
        "diffservReverse": {
          "type": "string",
          "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.\n"
        },
        "diffservcodeForward": {
          "type": "string",
          "description": "Change packet's DiffServ to this value.\n"
        },
        "diffservcodeRev": {
          "type": "string",
          "description": "Change packet's reverse (reply) DiffServ to this value.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dnsfilterProfile": {
          "type": "string",
          "description": "Name of an existing DNS filter profile.\n"
        },
        "dsri": {
          "type": "string",
          "description": "Enable DSRI to ignore HTTP server responses. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Dstaddr:Policy6Dstaddr"
          },
          "description": "Destination address and address group names. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Dstintf:Policy6Dstintf"
          },
          "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "firewallSessionDirty": {
          "type": "string",
          "description": "How to handle sessions if the configuration of this firewall policy changes. Valid values: `check-all`, `check-new`.\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable to prevent source NAT from changing a session's source port. Valid values: `enable`, `disable`.\n"
        },
        "fssoGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6FssoGroup:Policy6FssoGroup"
          },
          "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "globalLabel": {
          "type": "string",
          "description": "Label for the policy that appears when the GUI is in Global View mode.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Group:Policy6Group"
          },
          "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
        },
        "httpPolicyRedirect": {
          "type": "string",
          "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "inbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Policy inspection mode (Flow/proxy). Default is Flow mode. Valid values: `proxy`, `flow`.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable to use IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "label": {
          "type": "string",
          "description": "Label for the policy that appears when the GUI is in Section View mode.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable source NAT. Valid values: `enable`, `disable`.\n"
        },
        "natinbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: apply destination NAT to inbound traffic. Valid values: `enable`, `disable`.\n"
        },
        "natoutbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: apply source NAT to outbound traffic. Valid values: `enable`, `disable`.\n"
        },
        "outbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "poolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Poolname:Policy6Poolname"
          },
          "description": "IP Pool names. The structure of `poolname` block is documented below.\n"
        },
        "profileGroup": {
          "type": "string",
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
        },
        "replacemsgOverrideGroup": {
          "type": "string",
          "description": "Override the default replacement message group for this policy.\n"
        },
        "rsso": {
          "type": "string",
          "description": "Enable/disable RADIUS single sign-on (RSSO). Valid values: `enable`, `disable`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "sendDenyPacket": {
          "type": "string",
          "description": "Enable/disable return of deny-packet. Valid values: `enable`, `disable`.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Service:Policy6Service"
          },
          "description": "Service and service group names. The structure of `service` block is documented below.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "Session TTL in seconds for sessions accepted by this policy. 0 means use the system default session TTL.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing Spam filter profile.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Srcaddr:Policy6Srcaddr"
          },
          "description": "Source address and address group names. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6Srcintf:Policy6Srcintf"
          },
          "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sshPolicyRedirect": {
          "type": "string",
          "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "sslMirror": {
          "type": "string",
          "description": "Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring). Valid values: `enable`, `disable`.\n"
        },
        "sslMirrorIntfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6SslMirrorIntf:Policy6SslMirrorIntf"
          },
          "description": "SSL mirror interface name. The structure of `ssl_mirror_intf` block is documented below.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "tcpMssReceiver": {
          "type": "integer",
          "description": "Receiver TCP maximum segment size (MSS).\n"
        },
        "tcpMssSender": {
          "type": "integer",
          "description": "Sender TCP maximum segment size (MSS).\n"
        },
        "tcpSessionWithoutSyn": {
          "type": "string",
          "description": "Enable/disable creation of TCP session without SYN flag. Valid values: `all`, `data-only`, `disable`.\n"
        },
        "timeoutSendRst": {
          "type": "string",
          "description": "Enable/disable sending RST packets when TCP sessions expire. Valid values: `enable`, `disable`.\n"
        },
        "tos": {
          "type": "string",
          "description": "ToS (Type of Service) value used for comparison.\n"
        },
        "tosMask": {
          "type": "string",
          "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n"
        },
        "tosNegate": {
          "type": "string",
          "description": "Enable negated TOS match. Valid values: `enable`, `disable`.\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "urlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6UrlCategory:Policy6UrlCategory"
          },
          "description": "URL category ID list. The structure of `url_category` block is documented below.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicy6User:Policy6User"
          },
          "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable AV/web/ips protection profile. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vlanCosFwd": {
          "type": "integer",
          "description": "VLAN forward direction user priority: 255 passthrough, 0 lowest, 7 highest\n"
        },
        "vlanCosRev": {
          "type": "integer",
          "description": "VLAN reverse direction user priority: 255 passthrough, 0 lowest, 7 highest\n"
        },
        "vlanFilter": {
          "type": "string",
          "description": "Set VLAN filters.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP profile.\n"
        },
        "vpntunnel": {
          "type": "string",
          "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n"
        },
        "wafProfile": {
          "type": "string",
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "webcache": {
          "type": "string",
          "description": "Enable/disable web cache. Valid values: `enable`, `disable`.\n"
        },
        "webcacheHttps": {
          "type": "string",
          "description": "Enable/disable web cache for HTTPS. Valid values: `disable`, `enable`.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        },
        "webproxyForwardServer": {
          "type": "string",
          "description": "Web proxy forward server name.\n"
        },
        "webproxyProfile": {
          "type": "string",
          "description": "Webproxy profile name.\n"
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "dstintfs",
        "schedule",
        "srcaddrs",
        "srcintfs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Policy6 resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Policy action (allow/deny/ipsec). Valid values: `accept`, `deny`, `ipsec`.\n"
          },
          "antiReplay": {
            "type": "string",
            "description": "Enable/disable anti-replay check. Valid values: `enable`, `disable`.\n"
          },
          "appCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6AppCategory:Policy6AppCategory"
            },
            "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
          },
          "appGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6AppGroup:Policy6AppGroup"
            },
            "description": "Application group names. The structure of `app_group` block is documented below.\n"
          },
          "applicationList": {
            "type": "string",
            "description": "Name of an existing Application list.\n"
          },
          "applications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6Application:Policy6Application"
            },
            "description": "Application ID list. The structure of `application` block is documented below.\n"
          },
          "autoAsicOffload": {
            "type": "string",
            "description": "Enable/disable policy traffic ASIC offloading. Valid values: `enable`, `disable`.\n"
          },
          "avProfile": {
            "type": "string",
            "description": "Name of an existing Antivirus profile.\n"
          },
          "cifsProfile": {
            "type": "string",
            "description": "Name of an existing CIFS profile.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "customLogFields": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6CustomLogField:Policy6CustomLogField"
            },
            "description": "Log field index numbers to append custom log fields to log messages for this policy. The structure of `custom_log_fields` block is documented below.\n"
          },
          "decryptedTrafficMirror": {
            "type": "string",
            "description": "Decrypted traffic mirror.\n"
          },
          "devices": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6Device:Policy6Device"
            },
            "description": "Names of devices or device groups that can be matched by the policy. The structure of `devices` block is documented below.\n"
          },
          "diffservForward": {
            "type": "string",
            "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
          },
          "diffservReverse": {
            "type": "string",
            "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.\n"
          },
          "diffservcodeForward": {
            "type": "string",
            "description": "Change packet's DiffServ to this value.\n"
          },
          "diffservcodeRev": {
            "type": "string",
            "description": "Change packet's reverse (reply) DiffServ to this value.\n"
          },
          "dlpSensor": {
            "type": "string",
            "description": "Name of an existing DLP sensor.\n"
          },
          "dnsfilterProfile": {
            "type": "string",
            "description": "Name of an existing DNS filter profile.\n"
          },
          "dsri": {
            "type": "string",
            "description": "Enable DSRI to ignore HTTP server responses. Valid values: `enable`, `disable`.\n"
          },
          "dstaddrNegate": {
            "type": "string",
            "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6Dstaddr:Policy6Dstaddr"
            },
            "description": "Destination address and address group names. The structure of `dstaddr` block is documented below.\n"
          },
          "dstintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6Dstintf:Policy6Dstintf"
            },
            "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emailfilterProfile": {
            "type": "string",
            "description": "Name of an existing email filter profile.\n"
          },
          "firewallSessionDirty": {
            "type": "string",
            "description": "How to handle sessions if the configuration of this firewall policy changes. Valid values: `check-all`, `check-new`.\n"
          },
          "fixedport": {
            "type": "string",
            "description": "Enable to prevent source NAT from changing a session's source port. Valid values: `enable`, `disable`.\n"
          },
          "fssoGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6FssoGroup:Policy6FssoGroup"
            },
            "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "globalLabel": {
            "type": "string",
            "description": "Label for the policy that appears when the GUI is in Global View mode.\n"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6Group:Policy6Group"
            },
            "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
          },
          "httpPolicyRedirect": {
            "type": "string",
            "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy. Valid values: `enable`, `disable`.\n"
          },
          "icapProfile": {
            "type": "string",
            "description": "Name of an existing ICAP profile.\n"
          },
          "inbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Valid values: `enable`, `disable`.\n"
          },
          "inspectionMode": {
            "type": "string",
            "description": "Policy inspection mode (Flow/proxy). Default is Flow mode. Valid values: `proxy`, `flow`.\n"
          },
          "ippool": {
            "type": "string",
            "description": "Enable to use IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "Name of an existing IPS sensor.\n"
          },
          "label": {
            "type": "string",
            "description": "Label for the policy that appears when the GUI is in Section View mode.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
          },
          "logtrafficStart": {
            "type": "string",
            "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "nat": {
            "type": "string",
            "description": "Enable/disable source NAT. Valid values: `enable`, `disable`.\n"
          },
          "natinbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: apply destination NAT to inbound traffic. Valid values: `enable`, `disable`.\n"
          },
          "natoutbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: apply source NAT to outbound traffic. Valid values: `enable`, `disable`.\n"
          },
          "outbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN. Valid values: `enable`, `disable`.\n"
          },
          "perIpShaper": {
            "type": "string",
            "description": "Per-IP traffic shaper.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "poolnames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6Poolname:Policy6Poolname"
            },
            "description": "IP Pool names. The structure of `poolname` block is documented below.\n"
          },
          "profileGroup": {
            "type": "string",
            "description": "Name of profile group.\n"
          },
          "profileProtocolOptions": {
            "type": "string",
            "description": "Name of an existing Protocol options profile.\n"
          },
          "profileType": {
            "type": "string",
            "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
          },
          "replacemsgOverrideGroup": {
            "type": "string",
            "description": "Override the default replacement message group for this policy.\n"
          },
          "rsso": {
            "type": "string",
            "description": "Enable/disable RADIUS single sign-on (RSSO). Valid values: `enable`, `disable`.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Schedule name.\n"
          },
          "sendDenyPacket": {
            "type": "string",
            "description": "Enable/disable return of deny-packet. Valid values: `enable`, `disable`.\n"
          },
          "serviceNegate": {
            "type": "string",
            "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6Service:Policy6Service"
            },
            "description": "Service and service group names. The structure of `service` block is documented below.\n"
          },
          "sessionTtl": {
            "type": "integer",
            "description": "Session TTL in seconds for sessions accepted by this policy. 0 means use the system default session TTL.\n"
          },
          "spamfilterProfile": {
            "type": "string",
            "description": "Name of an existing Spam filter profile.\n"
          },
          "srcaddrNegate": {
            "type": "string",
            "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6Srcaddr:Policy6Srcaddr"
            },
            "description": "Source address and address group names. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6Srcintf:Policy6Srcintf"
            },
            "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
          },
          "sshFilterProfile": {
            "type": "string",
            "description": "Name of an existing SSH filter profile.\n"
          },
          "sshPolicyRedirect": {
            "type": "string",
            "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
          },
          "sslMirror": {
            "type": "string",
            "description": "Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring). Valid values: `enable`, `disable`.\n"
          },
          "sslMirrorIntfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6SslMirrorIntf:Policy6SslMirrorIntf"
            },
            "description": "SSL mirror interface name. The structure of `ssl_mirror_intf` block is documented below.\n"
          },
          "sslSshProfile": {
            "type": "string",
            "description": "Name of an existing SSL SSH profile.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "tcpMssReceiver": {
            "type": "integer",
            "description": "Receiver TCP maximum segment size (MSS).\n"
          },
          "tcpMssSender": {
            "type": "integer",
            "description": "Sender TCP maximum segment size (MSS).\n"
          },
          "tcpSessionWithoutSyn": {
            "type": "string",
            "description": "Enable/disable creation of TCP session without SYN flag. Valid values: `all`, `data-only`, `disable`.\n"
          },
          "timeoutSendRst": {
            "type": "string",
            "description": "Enable/disable sending RST packets when TCP sessions expire. Valid values: `enable`, `disable`.\n"
          },
          "tos": {
            "type": "string",
            "description": "ToS (Type of Service) value used for comparison.\n"
          },
          "tosMask": {
            "type": "string",
            "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n"
          },
          "tosNegate": {
            "type": "string",
            "description": "Enable negated TOS match. Valid values: `enable`, `disable`.\n"
          },
          "trafficShaper": {
            "type": "string",
            "description": "Reverse traffic shaper.\n"
          },
          "trafficShaperReverse": {
            "type": "string",
            "description": "Reverse traffic shaper.\n"
          },
          "urlCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6UrlCategory:Policy6UrlCategory"
            },
            "description": "URL category ID list. The structure of `url_category` block is documented below.\n"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicy6User:Policy6User"
            },
            "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
          },
          "utmStatus": {
            "type": "string",
            "description": "Enable AV/web/ips protection profile. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vlanCosFwd": {
            "type": "integer",
            "description": "VLAN forward direction user priority: 255 passthrough, 0 lowest, 7 highest\n"
          },
          "vlanCosRev": {
            "type": "integer",
            "description": "VLAN reverse direction user priority: 255 passthrough, 0 lowest, 7 highest\n"
          },
          "vlanFilter": {
            "type": "string",
            "description": "Set VLAN filters.\n"
          },
          "voipProfile": {
            "type": "string",
            "description": "Name of an existing VoIP profile.\n"
          },
          "vpntunnel": {
            "type": "string",
            "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n"
          },
          "wafProfile": {
            "type": "string",
            "description": "Name of an existing Web application firewall profile.\n"
          },
          "webcache": {
            "type": "string",
            "description": "Enable/disable web cache. Valid values: `enable`, `disable`.\n"
          },
          "webcacheHttps": {
            "type": "string",
            "description": "Enable/disable web cache for HTTPS. Valid values: `disable`, `enable`.\n"
          },
          "webfilterProfile": {
            "type": "string",
            "description": "Name of an existing Web filter profile.\n"
          },
          "webproxyForwardServer": {
            "type": "string",
            "description": "Web proxy forward server name.\n"
          },
          "webproxyProfile": {
            "type": "string",
            "description": "Webproxy profile name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/policy:Policy": {
      "description": "Configure IPv4 policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Policy(\"trname\", {\n    action: \"accept\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    dstintfs: [{\n        name: \"port4\",\n    }],\n    logtraffic: \"utm\",\n    policyid: 1,\n    schedule: \"always\",\n    services: [{\n        name: \"HTTP\",\n    }],\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    srcintfs: [{\n        name: \"port3\",\n    }],\n    wanopt: \"disable\",\n    wanoptDetection: \"active\",\n    wanoptPassiveOpt: \"default\",\n    wccp: \"disable\",\n    webcache: \"disable\",\n    webcacheHttps: \"disable\",\n    wsso: \"enable\",\n});\nconst myrule = new fortios.firewall.Policy(\"myrule\", {\n    action: \"accept\",\n    antiReplay: \"enable\",\n    authPath: \"disable\",\n    autoAsicOffload: \"enable\",\n    avProfile: \"wifi-default\",\n    dstintfs: [{\n        name: \"port1\",\n    }],\n    inspectionMode: \"flow\",\n    internetService: \"enable\",\n    internetServiceNames: [\n        {\n            name: \"Amazon-AWS\",\n        },\n        {\n            name: \"GitHub-GitHub\",\n        },\n    ],\n    ipsSensor: \"protect_email_server\",\n    logtraffic: \"utm\",\n    policyid: 2,\n    schedule: \"always\",\n    srcaddrs: [{\n        name: \"FABRIC_DEVICE\",\n    }],\n    srcintfs: [{\n        name: \"port2\",\n    }],\n    sslSshProfile: \"certificate-inspection\",\n    status: \"enable\",\n    utmStatus: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Policy(\"trname\",\n    action=\"accept\",\n    dstaddrs=[fortios.firewall.PolicyDstaddrArgs(\n        name=\"all\",\n    )],\n    dstintfs=[fortios.firewall.PolicyDstintfArgs(\n        name=\"port4\",\n    )],\n    logtraffic=\"utm\",\n    policyid=1,\n    schedule=\"always\",\n    services=[fortios.firewall.PolicyServiceArgs(\n        name=\"HTTP\",\n    )],\n    srcaddrs=[fortios.firewall.PolicySrcaddrArgs(\n        name=\"all\",\n    )],\n    srcintfs=[fortios.firewall.PolicySrcintfArgs(\n        name=\"port3\",\n    )],\n    wanopt=\"disable\",\n    wanopt_detection=\"active\",\n    wanopt_passive_opt=\"default\",\n    wccp=\"disable\",\n    webcache=\"disable\",\n    webcache_https=\"disable\",\n    wsso=\"enable\")\nmyrule = fortios.firewall.Policy(\"myrule\",\n    action=\"accept\",\n    anti_replay=\"enable\",\n    auth_path=\"disable\",\n    auto_asic_offload=\"enable\",\n    av_profile=\"wifi-default\",\n    dstintfs=[fortios.firewall.PolicyDstintfArgs(\n        name=\"port1\",\n    )],\n    inspection_mode=\"flow\",\n    internet_service=\"enable\",\n    internet_service_names=[\n        fortios.firewall.PolicyInternetServiceNameArgs(\n            name=\"Amazon-AWS\",\n        ),\n        fortios.firewall.PolicyInternetServiceNameArgs(\n            name=\"GitHub-GitHub\",\n        ),\n    ],\n    ips_sensor=\"protect_email_server\",\n    logtraffic=\"utm\",\n    policyid=2,\n    schedule=\"always\",\n    srcaddrs=[fortios.firewall.PolicySrcaddrArgs(\n        name=\"FABRIC_DEVICE\",\n    )],\n    srcintfs=[fortios.firewall.PolicySrcintfArgs(\n        name=\"port2\",\n    )],\n    ssl_ssh_profile=\"certificate-inspection\",\n    status=\"enable\",\n    utm_status=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Policy(\"trname\", new()\n    {\n        Action = \"accept\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.PolicyDstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Dstintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.PolicyDstintfArgs\n            {\n                Name = \"port4\",\n            },\n        },\n        Logtraffic = \"utm\",\n        Policyid = 1,\n        Schedule = \"always\",\n        Services = new[]\n        {\n            new Fortios.Firewall.Inputs.PolicyServiceArgs\n            {\n                Name = \"HTTP\",\n            },\n        },\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.PolicySrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Srcintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.PolicySrcintfArgs\n            {\n                Name = \"port3\",\n            },\n        },\n        Wanopt = \"disable\",\n        WanoptDetection = \"active\",\n        WanoptPassiveOpt = \"default\",\n        Wccp = \"disable\",\n        Webcache = \"disable\",\n        WebcacheHttps = \"disable\",\n        Wsso = \"enable\",\n    });\n\n    var myrule = new Fortios.Firewall.Policy(\"myrule\", new()\n    {\n        Action = \"accept\",\n        AntiReplay = \"enable\",\n        AuthPath = \"disable\",\n        AutoAsicOffload = \"enable\",\n        AvProfile = \"wifi-default\",\n        Dstintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.PolicyDstintfArgs\n            {\n                Name = \"port1\",\n            },\n        },\n        InspectionMode = \"flow\",\n        InternetService = \"enable\",\n        InternetServiceNames = new[]\n        {\n            new Fortios.Firewall.Inputs.PolicyInternetServiceNameArgs\n            {\n                Name = \"Amazon-AWS\",\n            },\n            new Fortios.Firewall.Inputs.PolicyInternetServiceNameArgs\n            {\n                Name = \"GitHub-GitHub\",\n            },\n        },\n        IpsSensor = \"protect_email_server\",\n        Logtraffic = \"utm\",\n        Policyid = 2,\n        Schedule = \"always\",\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.PolicySrcaddrArgs\n            {\n                Name = \"FABRIC_DEVICE\",\n            },\n        },\n        Srcintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.PolicySrcintfArgs\n            {\n                Name = \"port2\",\n            },\n        },\n        SslSshProfile = \"certificate-inspection\",\n        Status = \"enable\",\n        UtmStatus = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewPolicy(ctx, \"trname\", &firewall.PolicyArgs{\n\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\tDstaddrs: firewall.PolicyDstaddrArray{\n\t\t\t\t&firewall.PolicyDstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDstintfs: firewall.PolicyDstintfArray{\n\t\t\t\t&firewall.PolicyDstintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogtraffic: pulumi.String(\"utm\"),\n\t\t\tPolicyid:   pulumi.Int(1),\n\t\t\tSchedule:   pulumi.String(\"always\"),\n\t\t\tServices: firewall.PolicyServiceArray{\n\t\t\t\t&firewall.PolicyServiceArgs{\n\t\t\t\t\tName: pulumi.String(\"HTTP\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcaddrs: firewall.PolicySrcaddrArray{\n\t\t\t\t&firewall.PolicySrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcintfs: firewall.PolicySrcintfArray{\n\t\t\t\t&firewall.PolicySrcintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tWanopt:           pulumi.String(\"disable\"),\n\t\t\tWanoptDetection:  pulumi.String(\"active\"),\n\t\t\tWanoptPassiveOpt: pulumi.String(\"default\"),\n\t\t\tWccp:             pulumi.String(\"disable\"),\n\t\t\tWebcache:         pulumi.String(\"disable\"),\n\t\t\tWebcacheHttps:    pulumi.String(\"disable\"),\n\t\t\tWsso:             pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewPolicy(ctx, \"myrule\", &firewall.PolicyArgs{\n\t\t\tAction:          pulumi.String(\"accept\"),\n\t\t\tAntiReplay:      pulumi.String(\"enable\"),\n\t\t\tAuthPath:        pulumi.String(\"disable\"),\n\t\t\tAutoAsicOffload: pulumi.String(\"enable\"),\n\t\t\tAvProfile:       pulumi.String(\"wifi-default\"),\n\t\t\tDstintfs: firewall.PolicyDstintfArray{\n\t\t\t\t&firewall.PolicyDstintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInspectionMode:  pulumi.String(\"flow\"),\n\t\t\tInternetService: pulumi.String(\"enable\"),\n\t\t\tInternetServiceNames: firewall.PolicyInternetServiceNameArray{\n\t\t\t\t&firewall.PolicyInternetServiceNameArgs{\n\t\t\t\t\tName: pulumi.String(\"Amazon-AWS\"),\n\t\t\t\t},\n\t\t\t\t&firewall.PolicyInternetServiceNameArgs{\n\t\t\t\t\tName: pulumi.String(\"GitHub-GitHub\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIpsSensor:  pulumi.String(\"protect_email_server\"),\n\t\t\tLogtraffic: pulumi.String(\"utm\"),\n\t\t\tPolicyid:   pulumi.Int(2),\n\t\t\tSchedule:   pulumi.String(\"always\"),\n\t\t\tSrcaddrs: firewall.PolicySrcaddrArray{\n\t\t\t\t&firewall.PolicySrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"FABRIC_DEVICE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcintfs: firewall.PolicySrcintfArray{\n\t\t\t\t&firewall.PolicySrcintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSslSshProfile: pulumi.String(\"certificate-inspection\"),\n\t\t\tStatus:        pulumi.String(\"enable\"),\n\t\t\tUtmStatus:     pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Policy;\nimport com.pulumi.fortios.firewall.PolicyArgs;\nimport com.pulumi.fortios.firewall.inputs.PolicyDstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.PolicyDstintfArgs;\nimport com.pulumi.fortios.firewall.inputs.PolicyServiceArgs;\nimport com.pulumi.fortios.firewall.inputs.PolicySrcaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.PolicySrcintfArgs;\nimport com.pulumi.fortios.firewall.inputs.PolicyInternetServiceNameArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Policy(\"trname\", PolicyArgs.builder()\n            .action(\"accept\")\n            .dstaddrs(PolicyDstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .dstintfs(PolicyDstintfArgs.builder()\n                .name(\"port4\")\n                .build())\n            .logtraffic(\"utm\")\n            .policyid(1)\n            .schedule(\"always\")\n            .services(PolicyServiceArgs.builder()\n                .name(\"HTTP\")\n                .build())\n            .srcaddrs(PolicySrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .srcintfs(PolicySrcintfArgs.builder()\n                .name(\"port3\")\n                .build())\n            .wanopt(\"disable\")\n            .wanoptDetection(\"active\")\n            .wanoptPassiveOpt(\"default\")\n            .wccp(\"disable\")\n            .webcache(\"disable\")\n            .webcacheHttps(\"disable\")\n            .wsso(\"enable\")\n            .build());\n\n        var myrule = new Policy(\"myrule\", PolicyArgs.builder()\n            .action(\"accept\")\n            .antiReplay(\"enable\")\n            .authPath(\"disable\")\n            .autoAsicOffload(\"enable\")\n            .avProfile(\"wifi-default\")\n            .dstintfs(PolicyDstintfArgs.builder()\n                .name(\"port1\")\n                .build())\n            .inspectionMode(\"flow\")\n            .internetService(\"enable\")\n            .internetServiceNames(            \n                PolicyInternetServiceNameArgs.builder()\n                    .name(\"Amazon-AWS\")\n                    .build(),\n                PolicyInternetServiceNameArgs.builder()\n                    .name(\"GitHub-GitHub\")\n                    .build())\n            .ipsSensor(\"protect_email_server\")\n            .logtraffic(\"utm\")\n            .policyid(2)\n            .schedule(\"always\")\n            .srcaddrs(PolicySrcaddrArgs.builder()\n                .name(\"FABRIC_DEVICE\")\n                .build())\n            .srcintfs(PolicySrcintfArgs.builder()\n                .name(\"port2\")\n                .build())\n            .sslSshProfile(\"certificate-inspection\")\n            .status(\"enable\")\n            .utmStatus(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Policy\n    properties:\n      action: accept\n      dstaddrs:\n        - name: all\n      dstintfs:\n        - name: port4\n      logtraffic: utm\n      policyid: 1\n      schedule: always\n      services:\n        - name: HTTP\n      srcaddrs:\n        - name: all\n      srcintfs:\n        - name: port3\n      wanopt: disable\n      wanoptDetection: active\n      wanoptPassiveOpt: default\n      wccp: disable\n      webcache: disable\n      webcacheHttps: disable\n      wsso: enable\n  myrule:\n    type: fortios:firewall:Policy\n    properties:\n      action: accept\n      antiReplay: enable\n      authPath: disable\n      autoAsicOffload: enable\n      avProfile: wifi-default\n      dstintfs:\n        - name: port1\n      inspectionMode: flow\n      internetService: enable\n      internetServiceNames:\n        - name: Amazon-AWS\n        - name: GitHub-GitHub\n      ipsSensor: protect_email_server\n      logtraffic: utm\n      policyid: 2\n      schedule: always\n      srcaddrs:\n        - name: FABRIC_DEVICE\n      srcintfs:\n        - name: port2\n      sslSshProfile: certificate-inspection\n      status: enable\n      utmStatus: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Policy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/policy:Policy labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/policy:Policy labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Policy action. On FortiOS versions 6.2.0-6.4.0: allow/deny/ipsec. On FortiOS versions >= 6.4.1: accept/deny/ipsec. Valid values: `accept`, `deny`, `ipsec`.\n"
        },
        "antiReplay": {
          "type": "string",
          "description": "Enable/disable anti-replay check. Valid values: `enable`, `disable`.\n"
        },
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyAppCategory:PolicyAppCategory"
          },
          "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
        },
        "appGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyAppGroup:PolicyAppGroup"
          },
          "description": "Application group names. The structure of `app_group` block is documented below.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyApplication:PolicyApplication"
          },
          "description": "Application ID list. The structure of `application` block is documented below.\n"
        },
        "authCert": {
          "type": "string",
          "description": "HTTPS server certificate for policy authentication.\n"
        },
        "authPath": {
          "type": "string",
          "description": "Enable/disable authentication-based routing. Valid values: `enable`, `disable`.\n"
        },
        "authRedirectAddr": {
          "type": "string",
          "description": "HTTP-to-HTTPS redirect address for firewall authentication.\n"
        },
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable policy traffic ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "blockNotification": {
          "type": "string",
          "description": "Enable/disable block notification. Valid values: `enable`, `disable`.\n"
        },
        "captivePortalExempt": {
          "type": "string",
          "description": "Enable to exempt some users from the captive portal. Valid values: `enable`, `disable`.\n"
        },
        "capturePacket": {
          "type": "string",
          "description": "Enable/disable capture packets. Valid values: `enable`, `disable`.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "Name of an existing CASB profile.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "customLogFields": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyCustomLogField:PolicyCustomLogField"
          },
          "description": "Custom fields to append to log messages for this policy. The structure of `custom_log_fields` block is documented below.\n"
        },
        "decryptedTrafficMirror": {
          "type": "string",
          "description": "Decrypted traffic mirror.\n"
        },
        "delayTcpNpuSession": {
          "type": "string",
          "description": "Enable TCP NPU session delay to guarantee packet order of 3-way handshake. Valid values: `enable`, `disable`.\n"
        },
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyDevice:PolicyDevice"
          },
          "description": "Names of devices or device groups that can be matched by the policy. The structure of `devices` block is documented below.\n"
        },
        "diameterFilterProfile": {
          "type": "string",
          "description": "Name of an existing Diameter filter profile.\n"
        },
        "diffservCopy": {
          "type": "string",
          "description": "Enable to copy packet's DiffServ values from session's original direction to its reply direction. Valid values: `enable`, `disable`.\n"
        },
        "diffservForward": {
          "type": "string",
          "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
        },
        "diffservReverse": {
          "type": "string",
          "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.\n"
        },
        "diffservcodeForward": {
          "type": "string",
          "description": "Change packet's DiffServ to this value.\n"
        },
        "diffservcodeRev": {
          "type": "string",
          "description": "Change packet's reverse (reply) DiffServ to this value.\n"
        },
        "disclaimer": {
          "type": "string",
          "description": "Enable/disable user authentication disclaimer. Valid values: `enable`, `disable`.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "Name of an existing DLP profile.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dnsfilterProfile": {
          "type": "string",
          "description": "Name of an existing DNS filter profile.\n"
        },
        "dsri": {
          "type": "string",
          "description": "Enable DSRI to ignore HTTP server responses. Valid values: `enable`, `disable`.\n"
        },
        "dstaddr6Negate": {
          "type": "string",
          "description": "When enabled dstaddr6 specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyDstaddr6:PolicyDstaddr6"
          },
          "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyDstaddr:PolicyDstaddr"
          },
          "description": "Destination address and address group names. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyDstintf:PolicyDstintf"
          },
          "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicShaping": {
          "type": "string",
          "description": "Enable/disable dynamic RADIUS defined traffic shaping. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailCollect": {
          "type": "string",
          "description": "Enable/disable email collection. Valid values: `enable`, `disable`.\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "fec": {
          "type": "string",
          "description": "Enable/disable Forward Error Correction on traffic matching this policy on a FEC device. Valid values: `enable`, `disable`.\n"
        },
        "fileFilterProfile": {
          "type": "string",
          "description": "Name of an existing file-filter profile.\n"
        },
        "firewallSessionDirty": {
          "type": "string",
          "description": "How to handle sessions if the configuration of this firewall policy changes. Valid values: `check-all`, `check-new`.\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable to prevent source NAT from changing a session's source port. Valid values: `enable`, `disable`.\n"
        },
        "fsso": {
          "type": "string",
          "description": "Enable/disable Fortinet Single Sign-On. Valid values: `enable`, `disable`.\n"
        },
        "fssoAgentForNtlm": {
          "type": "string",
          "description": "FSSO agent to use for NTLM authentication.\n"
        },
        "fssoGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyFssoGroup:PolicyFssoGroup"
          },
          "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
        },
        "geoipAnycast": {
          "type": "string",
          "description": "Enable/disable recognition of anycast IP addresses using the geography IP database. Valid values: `enable`, `disable`.\n"
        },
        "geoipMatch": {
          "type": "string",
          "description": "Match geography address based either on its physical location or registered location. Valid values: `physical-location`, `registered-location`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "globalLabel": {
          "type": "string",
          "description": "Label for the policy that appears when the GUI is in Global View mode.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyGroup:PolicyGroup"
          },
          "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
        },
        "httpPolicyRedirect": {
          "type": "string",
          "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "identityBasedRoute": {
          "type": "string",
          "description": "Name of identity-based routing rule.\n"
        },
        "inbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Policy inspection mode (Flow/proxy). Default is Flow mode. Valid values: `proxy`, `flow`.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetService6": {
          "type": "string",
          "description": "Enable/disable use of IPv6 Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6CustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6CustomGroup:PolicyInternetService6CustomGroup"
          },
          "description": "Custom Internet Service6 group name. The structure of `internet_service6_custom_group` block is documented below.\n"
        },
        "internetService6Customs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6Custom:PolicyInternetService6Custom"
          },
          "description": "Custom IPv6 Internet Service name. The structure of `internet_service6_custom` block is documented below.\n"
        },
        "internetService6Groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6Group:PolicyInternetService6Group"
          },
          "description": "Internet Service group name. The structure of `internet_service6_group` block is documented below.\n"
        },
        "internetService6Names": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6Name:PolicyInternetService6Name"
          },
          "description": "IPv6 Internet Service name. The structure of `internet_service6_name` block is documented below.\n"
        },
        "internetService6Negate": {
          "type": "string",
          "description": "When enabled internet-service6 specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetService6Src": {
          "type": "string",
          "description": "Enable/disable use of IPv6 Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6SrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcCustomGroup:PolicyInternetService6SrcCustomGroup"
          },
          "description": "Custom Internet Service6 source group name. The structure of `internet_service6_src_custom_group` block is documented below.\n"
        },
        "internetService6SrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcCustom:PolicyInternetService6SrcCustom"
          },
          "description": "Custom IPv6 Internet Service source name. The structure of `internet_service6_src_custom` block is documented below.\n"
        },
        "internetService6SrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcGroup:PolicyInternetService6SrcGroup"
          },
          "description": "Internet Service6 source group name. The structure of `internet_service6_src_group` block is documented below.\n"
        },
        "internetService6SrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcName:PolicyInternetService6SrcName"
          },
          "description": "IPv6 Internet Service source name. The structure of `internet_service6_src_name` block is documented below.\n"
        },
        "internetService6SrcNegate": {
          "type": "string",
          "description": "When enabled internet-service6-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceCustomGroup:PolicyInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceCustom:PolicyInternetServiceCustom"
          },
          "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceGroup:PolicyInternetServiceGroup"
          },
          "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceId:PolicyInternetServiceId"
          },
          "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceName:PolicyInternetServiceName"
          },
          "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
        },
        "internetServiceNegate": {
          "type": "string",
          "description": "When enabled internet-service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcCustomGroup:PolicyInternetServiceSrcCustomGroup"
          },
          "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
        },
        "internetServiceSrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcCustom:PolicyInternetServiceSrcCustom"
          },
          "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
        },
        "internetServiceSrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcGroup:PolicyInternetServiceSrcGroup"
          },
          "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
        },
        "internetServiceSrcIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcId:PolicyInternetServiceSrcId"
          },
          "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcName:PolicyInternetServiceSrcName"
          },
          "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
        },
        "internetServiceSrcNegate": {
          "type": "string",
          "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable to use IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "ipsVoipFilter": {
          "type": "string",
          "description": "Name of an existing VoIP (ips) profile.\n"
        },
        "label": {
          "type": "string",
          "description": "Label for the policy that appears when the GUI is in Section View mode.\n"
        },
        "learningMode": {
          "type": "string",
          "description": "Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be generated. Valid values: `enable`, `disable`.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
        },
        "matchVip": {
          "type": "string",
          "description": "Enable to match packets that have had their destination addresses changed by a VIP. Valid values: `enable`, `disable`.\n"
        },
        "matchVipOnly": {
          "type": "string",
          "description": "Enable/disable matching of only those packets that have had their destination addresses changed by a VIP. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable source NAT. Valid values: `enable`, `disable`.\n"
        },
        "nat46": {
          "type": "string",
          "description": "Enable/disable NAT46. Valid values: `enable`, `disable`.\n"
        },
        "nat64": {
          "type": "string",
          "description": "Enable/disable NAT64. Valid values: `enable`, `disable`.\n"
        },
        "natinbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: apply destination NAT to inbound traffic. Valid values: `enable`, `disable`.\n"
        },
        "natip": {
          "type": "string",
          "description": "Policy-based IPsec VPN: source NAT IP address for outgoing traffic.\n"
        },
        "natoutbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: apply source NAT to outbound traffic. Valid values: `enable`, `disable`.\n"
        },
        "networkServiceDynamics": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyNetworkServiceDynamic:PolicyNetworkServiceDynamic"
          },
          "description": "Dynamic Network Service name. The structure of `network_service_dynamic` block is documented below.\n"
        },
        "networkServiceSrcDynamics": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyNetworkServiceSrcDynamic:PolicyNetworkServiceSrcDynamic"
          },
          "description": "Dynamic Network Service source name. The structure of `network_service_src_dynamic` block is documented below.\n"
        },
        "npAcceleration": {
          "type": "string",
          "description": "Enable/disable UTM Network Processor acceleration. Valid values: `enable`, `disable`.\n"
        },
        "ntlm": {
          "type": "string",
          "description": "Enable/disable NTLM authentication. Valid values: `enable`, `disable`.\n"
        },
        "ntlmEnabledBrowsers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyNtlmEnabledBrowser:PolicyNtlmEnabledBrowser"
          },
          "description": "HTTP-User-Agent value of supported browsers. The structure of `ntlm_enabled_browsers` block is documented below.\n"
        },
        "ntlmGuest": {
          "type": "string",
          "description": "Enable/disable NTLM guest user access. Valid values: `enable`, `disable`.\n"
        },
        "outbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "passiveWanHealthMeasurement": {
          "type": "string",
          "description": "Enable/disable passive WAN health measurement. When enabled, auto-asic-offload is disabled. Valid values: `enable`, `disable`.\n"
        },
        "pcpInbound": {
          "type": "string",
          "description": "Enable/disable PCP inbound DNAT. Valid values: `enable`, `disable`.\n"
        },
        "pcpOutbound": {
          "type": "string",
          "description": "Enable/disable PCP outbound SNAT. Valid values: `enable`, `disable`.\n"
        },
        "pcpPoolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyPcpPoolname:PolicyPcpPoolname"
          },
          "description": "PCP pool names. The structure of `pcp_poolname` block is documented below.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper.\n"
        },
        "permitAnyHost": {
          "type": "string",
          "description": "Accept UDP packets from any host. Valid values: `enable`, `disable`.\n"
        },
        "permitStunHost": {
          "type": "string",
          "description": "Accept UDP packets from any Session Traversal Utilities for NAT (STUN) host. Valid values: `enable`, `disable`.\n"
        },
        "policyExpiry": {
          "type": "string",
          "description": "Enable/disable policy expiry. Valid values: `enable`, `disable`.\n"
        },
        "policyExpiryDate": {
          "type": "string",
          "description": "Policy expiry date (YYYY-MM-DD HH:MM:SS).\n"
        },
        "policyExpiryDateUtc": {
          "type": "string",
          "description": "Policy expiry date and time, in epoch format.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "poolname6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyPoolname6:PolicyPoolname6"
          },
          "description": "IPv6 pool names. The structure of `poolname6` block is documented below.\n"
        },
        "poolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyPoolname:PolicyPoolname"
          },
          "description": "IP Pool names. The structure of `poolname` block is documented below.\n"
        },
        "portPreserve": {
          "type": "string",
          "description": "Enable/disable preservation of the original source port from source NAT if it has not been used. Valid values: `enable`, `disable`.\n"
        },
        "profileGroup": {
          "type": "string",
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
        },
        "radiusMacAuthBypass": {
          "type": "string",
          "description": "Enable MAC authentication bypass. The bypassed MAC address must be received from RADIUS server. Valid values: `enable`, `disable`.\n"
        },
        "redirectUrl": {
          "type": "string",
          "description": "URL users are directed to after seeing and accepting the disclaimer or authenticating.\n"
        },
        "replacemsgOverrideGroup": {
          "type": "string",
          "description": "Override the default replacement message group for this policy.\n"
        },
        "reputationDirection": {
          "type": "string",
          "description": "Direction of the initial traffic for reputation to take effect. Valid values: `source`, `destination`.\n"
        },
        "reputationDirection6": {
          "type": "string",
          "description": "Direction of the initial traffic for IPv6 reputation to take effect. Valid values: `source`, `destination`.\n"
        },
        "reputationMinimum": {
          "type": "integer",
          "description": "Minimum Reputation to take action.\n"
        },
        "reputationMinimum6": {
          "type": "integer",
          "description": "IPv6 Minimum Reputation to take action.\n"
        },
        "rsso": {
          "type": "string",
          "description": "Enable/disable RADIUS single sign-on (RSSO). Valid values: `enable`, `disable`.\n"
        },
        "rtpAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyRtpAddr:PolicyRtpAddr"
          },
          "description": "Address names if this is an RTP NAT policy. The structure of `rtp_addr` block is documented below.\n"
        },
        "rtpNat": {
          "type": "string",
          "description": "Enable Real Time Protocol (RTP) NAT. Valid values: `disable`, `enable`.\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Block or monitor connections to Botnet servers or disable Botnet scanning. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.(Default is `always`)\n"
        },
        "scheduleTimeout": {
          "type": "string",
          "description": "Enable to force current sessions to end when the schedule object times out. Disable allows them to end from inactivity. Valid values: `enable`, `disable`.\n"
        },
        "sctpFilterProfile": {
          "type": "string",
          "description": "Name of an existing SCTP filter profile.\n"
        },
        "sendDenyPacket": {
          "type": "string",
          "description": "Enable to send a reply when a session is denied or blocked by a firewall policy. Valid values: `disable`, `enable`.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyService:PolicyService"
          },
          "description": "Service and service group names. The structure of `service` block is documented below.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n"
        },
        "sgtCheck": {
          "type": "string",
          "description": "Enable/disable security group tags (SGT) check. Valid values: `enable`, `disable`.\n"
        },
        "sgts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySgt:PolicySgt"
          },
          "description": "Security group tags. The structure of `sgt` block is documented below.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing Spam filter profile.\n"
        },
        "srcVendorMacs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySrcVendorMac:PolicySrcVendorMac"
          },
          "description": "Vendor MAC source ID. The structure of `src_vendor_mac` block is documented below.\n"
        },
        "srcaddr6Negate": {
          "type": "string",
          "description": "When enabled srcaddr6 specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySrcaddr6:PolicySrcaddr6"
          },
          "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySrcaddr:PolicySrcaddr"
          },
          "description": "Source address and address group names. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySrcintf:PolicySrcintf"
          },
          "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sshPolicyRedirect": {
          "type": "string",
          "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "sslMirror": {
          "type": "string",
          "description": "Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring). Valid values: `enable`, `disable`.\n"
        },
        "sslMirrorIntfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySslMirrorIntf:PolicySslMirrorIntf"
          },
          "description": "SSL mirror interface name. The structure of `ssl_mirror_intf` block is documented below.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "tcpMssReceiver": {
          "type": "integer",
          "description": "Receiver TCP maximum segment size (MSS).\n"
        },
        "tcpMssSender": {
          "type": "integer",
          "description": "Sender TCP maximum segment size (MSS).\n"
        },
        "tcpSessionWithoutSyn": {
          "type": "string",
          "description": "Enable/disable creation of TCP session without SYN flag. Valid values: `all`, `data-only`, `disable`.\n"
        },
        "timeoutSendRst": {
          "type": "string",
          "description": "Enable/disable sending RST packets when TCP sessions expire. Valid values: `enable`, `disable`.\n"
        },
        "tos": {
          "type": "string",
          "description": "ToS (Type of Service) value used for comparison.\n"
        },
        "tosMask": {
          "type": "string",
          "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n"
        },
        "tosNegate": {
          "type": "string",
          "description": "Enable negated TOS match. Valid values: `enable`, `disable`.\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "urlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyUrlCategory:PolicyUrlCategory"
          },
          "description": "URL category ID list. The structure of `url_category` block is documented below.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyUser:PolicyUser"
          },
          "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "videofilterProfile": {
          "type": "string",
          "description": "Name of an existing VideoFilter profile.\n"
        },
        "virtualPatchProfile": {
          "type": "string",
          "description": "Name of an existing virtual-patch profile.\n"
        },
        "vlanCosFwd": {
          "type": "integer",
          "description": "VLAN forward direction user priority: 255 passthrough, 0 lowest, 7 highest.\n"
        },
        "vlanCosRev": {
          "type": "integer",
          "description": "VLAN reverse direction user priority: 255 passthrough, 0 lowest, 7 highest.\n"
        },
        "vlanFilter": {
          "type": "string",
          "description": "Set VLAN filters.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP (voipd) profile.\n"
        },
        "vpntunnel": {
          "type": "string",
          "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n"
        },
        "wafProfile": {
          "type": "string",
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "wanopt": {
          "type": "string",
          "description": "Enable/disable WAN optimization. Valid values: `enable`, `disable`.\n"
        },
        "wanoptDetection": {
          "type": "string",
          "description": "WAN optimization auto-detection mode. Valid values: `active`, `passive`, `off`.\n"
        },
        "wanoptPassiveOpt": {
          "type": "string",
          "description": "WAN optimization passive mode options. This option decides what IP address will be used to connect server. Valid values: `default`, `transparent`, `non-transparent`.\n"
        },
        "wanoptPeer": {
          "type": "string",
          "description": "WAN optimization peer.\n"
        },
        "wanoptProfile": {
          "type": "string",
          "description": "WAN optimization profile.\n"
        },
        "wccp": {
          "type": "string",
          "description": "Enable/disable forwarding traffic matching this policy to a configured WCCP server. Valid values: `enable`, `disable`.\n"
        },
        "webcache": {
          "type": "string",
          "description": "Enable/disable web cache. Valid values: `enable`, `disable`.\n"
        },
        "webcacheHttps": {
          "type": "string",
          "description": "Enable/disable web cache for HTTPS. Valid values: `disable`, `enable`.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        },
        "webproxyForwardServer": {
          "type": "string",
          "description": "Web proxy forward server name.\n"
        },
        "webproxyProfile": {
          "type": "string",
          "description": "Webproxy profile name.\n"
        },
        "wsso": {
          "type": "string",
          "description": "Enable/disable WiFi Single Sign On (WSSO). Valid values: `enable`, `disable`.\n"
        },
        "ztnaDeviceOwnership": {
          "type": "string",
          "description": "Enable/disable zero trust device ownership. Valid values: `enable`, `disable`.\n"
        },
        "ztnaEmsTagSecondaries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyZtnaEmsTagSecondary:PolicyZtnaEmsTagSecondary"
          },
          "description": "Source ztna-ems-tag-secondary names. The structure of `ztna_ems_tag_secondary` block is documented below.\n"
        },
        "ztnaEmsTags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyZtnaEmsTag:PolicyZtnaEmsTag"
          },
          "description": "Source ztna-ems-tag names. The structure of `ztna_ems_tag` block is documented below.\n"
        },
        "ztnaGeoTags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyZtnaGeoTag:PolicyZtnaGeoTag"
          },
          "description": "Source ztna-geo-tag names. The structure of `ztna_geo_tag` block is documented below.\n"
        },
        "ztnaPolicyRedirect": {
          "type": "string",
          "description": "Redirect ZTNA traffic to matching Access-Proxy proxy-policy. Valid values: `enable`, `disable`.\n"
        },
        "ztnaStatus": {
          "type": "string",
          "description": "Enable/disable zero trust access. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTagsMatchLogic": {
          "type": "string",
          "description": "ZTNA tag matching logic. Valid values: `or`, `and`.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "antiReplay",
        "authPath",
        "autoAsicOffload",
        "blockNotification",
        "captivePortalExempt",
        "capturePacket",
        "delayTcpNpuSession",
        "diffservCopy",
        "diffservForward",
        "diffservReverse",
        "diffservcodeForward",
        "diffservcodeRev",
        "disclaimer",
        "dsri",
        "dstaddr6Negate",
        "dstaddrNegate",
        "dstintfs",
        "dynamicShaping",
        "emailCollect",
        "fec",
        "firewallSessionDirty",
        "fixedport",
        "geoipAnycast",
        "geoipMatch",
        "httpPolicyRedirect",
        "inbound",
        "inspectionMode",
        "internetService",
        "internetService6",
        "internetService6Negate",
        "internetService6Src",
        "internetService6SrcNegate",
        "internetServiceNegate",
        "internetServiceSrc",
        "internetServiceSrcNegate",
        "ippool",
        "logtraffic",
        "logtrafficStart",
        "matchVip",
        "matchVipOnly",
        "name",
        "nat",
        "nat46",
        "nat64",
        "natinbound",
        "natip",
        "natoutbound",
        "npAcceleration",
        "ntlm",
        "ntlmGuest",
        "outbound",
        "passiveWanHealthMeasurement",
        "pcpInbound",
        "pcpOutbound",
        "permitAnyHost",
        "permitStunHost",
        "policyExpiry",
        "policyExpiryDate",
        "policyid",
        "portPreserve",
        "profileProtocolOptions",
        "profileType",
        "radiusMacAuthBypass",
        "reputationDirection",
        "reputationDirection6",
        "rtpNat",
        "scheduleTimeout",
        "sendDenyPacket",
        "serviceNegate",
        "sgtCheck",
        "srcaddr6Negate",
        "srcaddrNegate",
        "srcintfs",
        "sshPolicyRedirect",
        "sslSshProfile",
        "status",
        "tcpSessionWithoutSyn",
        "timeoutSendRst",
        "tos",
        "tosMask",
        "tosNegate",
        "utmStatus",
        "uuid",
        "vdomparam",
        "vlanCosFwd",
        "vlanCosRev",
        "wanopt",
        "wanoptDetection",
        "wanoptPassiveOpt",
        "wccp",
        "webcache",
        "webcacheHttps",
        "ztnaDeviceOwnership",
        "ztnaPolicyRedirect",
        "ztnaStatus",
        "ztnaTagsMatchLogic"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Policy action. On FortiOS versions 6.2.0-6.4.0: allow/deny/ipsec. On FortiOS versions >= 6.4.1: accept/deny/ipsec. Valid values: `accept`, `deny`, `ipsec`.\n"
        },
        "antiReplay": {
          "type": "string",
          "description": "Enable/disable anti-replay check. Valid values: `enable`, `disable`.\n"
        },
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyAppCategory:PolicyAppCategory"
          },
          "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
        },
        "appGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyAppGroup:PolicyAppGroup"
          },
          "description": "Application group names. The structure of `app_group` block is documented below.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyApplication:PolicyApplication"
          },
          "description": "Application ID list. The structure of `application` block is documented below.\n"
        },
        "authCert": {
          "type": "string",
          "description": "HTTPS server certificate for policy authentication.\n"
        },
        "authPath": {
          "type": "string",
          "description": "Enable/disable authentication-based routing. Valid values: `enable`, `disable`.\n"
        },
        "authRedirectAddr": {
          "type": "string",
          "description": "HTTP-to-HTTPS redirect address for firewall authentication.\n"
        },
        "autoAsicOffload": {
          "type": "string",
          "description": "Enable/disable policy traffic ASIC offloading. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "blockNotification": {
          "type": "string",
          "description": "Enable/disable block notification. Valid values: `enable`, `disable`.\n"
        },
        "captivePortalExempt": {
          "type": "string",
          "description": "Enable to exempt some users from the captive portal. Valid values: `enable`, `disable`.\n"
        },
        "capturePacket": {
          "type": "string",
          "description": "Enable/disable capture packets. Valid values: `enable`, `disable`.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "Name of an existing CASB profile.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "customLogFields": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyCustomLogField:PolicyCustomLogField"
          },
          "description": "Custom fields to append to log messages for this policy. The structure of `custom_log_fields` block is documented below.\n"
        },
        "decryptedTrafficMirror": {
          "type": "string",
          "description": "Decrypted traffic mirror.\n"
        },
        "delayTcpNpuSession": {
          "type": "string",
          "description": "Enable TCP NPU session delay to guarantee packet order of 3-way handshake. Valid values: `enable`, `disable`.\n"
        },
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyDevice:PolicyDevice"
          },
          "description": "Names of devices or device groups that can be matched by the policy. The structure of `devices` block is documented below.\n"
        },
        "diameterFilterProfile": {
          "type": "string",
          "description": "Name of an existing Diameter filter profile.\n"
        },
        "diffservCopy": {
          "type": "string",
          "description": "Enable to copy packet's DiffServ values from session's original direction to its reply direction. Valid values: `enable`, `disable`.\n"
        },
        "diffservForward": {
          "type": "string",
          "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
        },
        "diffservReverse": {
          "type": "string",
          "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.\n"
        },
        "diffservcodeForward": {
          "type": "string",
          "description": "Change packet's DiffServ to this value.\n"
        },
        "diffservcodeRev": {
          "type": "string",
          "description": "Change packet's reverse (reply) DiffServ to this value.\n"
        },
        "disclaimer": {
          "type": "string",
          "description": "Enable/disable user authentication disclaimer. Valid values: `enable`, `disable`.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "Name of an existing DLP profile.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dnsfilterProfile": {
          "type": "string",
          "description": "Name of an existing DNS filter profile.\n"
        },
        "dsri": {
          "type": "string",
          "description": "Enable DSRI to ignore HTTP server responses. Valid values: `enable`, `disable`.\n"
        },
        "dstaddr6Negate": {
          "type": "string",
          "description": "When enabled dstaddr6 specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyDstaddr6:PolicyDstaddr6"
          },
          "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyDstaddr:PolicyDstaddr"
          },
          "description": "Destination address and address group names. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyDstintf:PolicyDstintf"
          },
          "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicShaping": {
          "type": "string",
          "description": "Enable/disable dynamic RADIUS defined traffic shaping. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailCollect": {
          "type": "string",
          "description": "Enable/disable email collection. Valid values: `enable`, `disable`.\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "fec": {
          "type": "string",
          "description": "Enable/disable Forward Error Correction on traffic matching this policy on a FEC device. Valid values: `enable`, `disable`.\n"
        },
        "fileFilterProfile": {
          "type": "string",
          "description": "Name of an existing file-filter profile.\n"
        },
        "firewallSessionDirty": {
          "type": "string",
          "description": "How to handle sessions if the configuration of this firewall policy changes. Valid values: `check-all`, `check-new`.\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable to prevent source NAT from changing a session's source port. Valid values: `enable`, `disable`.\n"
        },
        "fsso": {
          "type": "string",
          "description": "Enable/disable Fortinet Single Sign-On. Valid values: `enable`, `disable`.\n"
        },
        "fssoAgentForNtlm": {
          "type": "string",
          "description": "FSSO agent to use for NTLM authentication.\n"
        },
        "fssoGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyFssoGroup:PolicyFssoGroup"
          },
          "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
        },
        "geoipAnycast": {
          "type": "string",
          "description": "Enable/disable recognition of anycast IP addresses using the geography IP database. Valid values: `enable`, `disable`.\n"
        },
        "geoipMatch": {
          "type": "string",
          "description": "Match geography address based either on its physical location or registered location. Valid values: `physical-location`, `registered-location`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "globalLabel": {
          "type": "string",
          "description": "Label for the policy that appears when the GUI is in Global View mode.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyGroup:PolicyGroup"
          },
          "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
        },
        "httpPolicyRedirect": {
          "type": "string",
          "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "identityBasedRoute": {
          "type": "string",
          "description": "Name of identity-based routing rule.\n"
        },
        "inbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Policy inspection mode (Flow/proxy). Default is Flow mode. Valid values: `proxy`, `flow`.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetService6": {
          "type": "string",
          "description": "Enable/disable use of IPv6 Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6CustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6CustomGroup:PolicyInternetService6CustomGroup"
          },
          "description": "Custom Internet Service6 group name. The structure of `internet_service6_custom_group` block is documented below.\n"
        },
        "internetService6Customs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6Custom:PolicyInternetService6Custom"
          },
          "description": "Custom IPv6 Internet Service name. The structure of `internet_service6_custom` block is documented below.\n"
        },
        "internetService6Groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6Group:PolicyInternetService6Group"
          },
          "description": "Internet Service group name. The structure of `internet_service6_group` block is documented below.\n"
        },
        "internetService6Names": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6Name:PolicyInternetService6Name"
          },
          "description": "IPv6 Internet Service name. The structure of `internet_service6_name` block is documented below.\n"
        },
        "internetService6Negate": {
          "type": "string",
          "description": "When enabled internet-service6 specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetService6Src": {
          "type": "string",
          "description": "Enable/disable use of IPv6 Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6SrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcCustomGroup:PolicyInternetService6SrcCustomGroup"
          },
          "description": "Custom Internet Service6 source group name. The structure of `internet_service6_src_custom_group` block is documented below.\n"
        },
        "internetService6SrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcCustom:PolicyInternetService6SrcCustom"
          },
          "description": "Custom IPv6 Internet Service source name. The structure of `internet_service6_src_custom` block is documented below.\n"
        },
        "internetService6SrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcGroup:PolicyInternetService6SrcGroup"
          },
          "description": "Internet Service6 source group name. The structure of `internet_service6_src_group` block is documented below.\n"
        },
        "internetService6SrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcName:PolicyInternetService6SrcName"
          },
          "description": "IPv6 Internet Service source name. The structure of `internet_service6_src_name` block is documented below.\n"
        },
        "internetService6SrcNegate": {
          "type": "string",
          "description": "When enabled internet-service6-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceCustomGroup:PolicyInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceCustom:PolicyInternetServiceCustom"
          },
          "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceGroup:PolicyInternetServiceGroup"
          },
          "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceId:PolicyInternetServiceId"
          },
          "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceName:PolicyInternetServiceName"
          },
          "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
        },
        "internetServiceNegate": {
          "type": "string",
          "description": "When enabled internet-service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcCustomGroup:PolicyInternetServiceSrcCustomGroup"
          },
          "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
        },
        "internetServiceSrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcCustom:PolicyInternetServiceSrcCustom"
          },
          "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
        },
        "internetServiceSrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcGroup:PolicyInternetServiceSrcGroup"
          },
          "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
        },
        "internetServiceSrcIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcId:PolicyInternetServiceSrcId"
          },
          "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcName:PolicyInternetServiceSrcName"
          },
          "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
        },
        "internetServiceSrcNegate": {
          "type": "string",
          "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable to use IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "ipsVoipFilter": {
          "type": "string",
          "description": "Name of an existing VoIP (ips) profile.\n"
        },
        "label": {
          "type": "string",
          "description": "Label for the policy that appears when the GUI is in Section View mode.\n"
        },
        "learningMode": {
          "type": "string",
          "description": "Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be generated. Valid values: `enable`, `disable`.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
        },
        "matchVip": {
          "type": "string",
          "description": "Enable to match packets that have had their destination addresses changed by a VIP. Valid values: `enable`, `disable`.\n"
        },
        "matchVipOnly": {
          "type": "string",
          "description": "Enable/disable matching of only those packets that have had their destination addresses changed by a VIP. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable source NAT. Valid values: `enable`, `disable`.\n"
        },
        "nat46": {
          "type": "string",
          "description": "Enable/disable NAT46. Valid values: `enable`, `disable`.\n"
        },
        "nat64": {
          "type": "string",
          "description": "Enable/disable NAT64. Valid values: `enable`, `disable`.\n"
        },
        "natinbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: apply destination NAT to inbound traffic. Valid values: `enable`, `disable`.\n"
        },
        "natip": {
          "type": "string",
          "description": "Policy-based IPsec VPN: source NAT IP address for outgoing traffic.\n"
        },
        "natoutbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: apply source NAT to outbound traffic. Valid values: `enable`, `disable`.\n"
        },
        "networkServiceDynamics": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyNetworkServiceDynamic:PolicyNetworkServiceDynamic"
          },
          "description": "Dynamic Network Service name. The structure of `network_service_dynamic` block is documented below.\n"
        },
        "networkServiceSrcDynamics": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyNetworkServiceSrcDynamic:PolicyNetworkServiceSrcDynamic"
          },
          "description": "Dynamic Network Service source name. The structure of `network_service_src_dynamic` block is documented below.\n"
        },
        "npAcceleration": {
          "type": "string",
          "description": "Enable/disable UTM Network Processor acceleration. Valid values: `enable`, `disable`.\n"
        },
        "ntlm": {
          "type": "string",
          "description": "Enable/disable NTLM authentication. Valid values: `enable`, `disable`.\n"
        },
        "ntlmEnabledBrowsers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyNtlmEnabledBrowser:PolicyNtlmEnabledBrowser"
          },
          "description": "HTTP-User-Agent value of supported browsers. The structure of `ntlm_enabled_browsers` block is documented below.\n"
        },
        "ntlmGuest": {
          "type": "string",
          "description": "Enable/disable NTLM guest user access. Valid values: `enable`, `disable`.\n"
        },
        "outbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN. Valid values: `enable`, `disable`.\n"
        },
        "passiveWanHealthMeasurement": {
          "type": "string",
          "description": "Enable/disable passive WAN health measurement. When enabled, auto-asic-offload is disabled. Valid values: `enable`, `disable`.\n"
        },
        "pcpInbound": {
          "type": "string",
          "description": "Enable/disable PCP inbound DNAT. Valid values: `enable`, `disable`.\n"
        },
        "pcpOutbound": {
          "type": "string",
          "description": "Enable/disable PCP outbound SNAT. Valid values: `enable`, `disable`.\n"
        },
        "pcpPoolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyPcpPoolname:PolicyPcpPoolname"
          },
          "description": "PCP pool names. The structure of `pcp_poolname` block is documented below.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper.\n"
        },
        "permitAnyHost": {
          "type": "string",
          "description": "Accept UDP packets from any host. Valid values: `enable`, `disable`.\n"
        },
        "permitStunHost": {
          "type": "string",
          "description": "Accept UDP packets from any Session Traversal Utilities for NAT (STUN) host. Valid values: `enable`, `disable`.\n"
        },
        "policyExpiry": {
          "type": "string",
          "description": "Enable/disable policy expiry. Valid values: `enable`, `disable`.\n"
        },
        "policyExpiryDate": {
          "type": "string",
          "description": "Policy expiry date (YYYY-MM-DD HH:MM:SS).\n"
        },
        "policyExpiryDateUtc": {
          "type": "string",
          "description": "Policy expiry date and time, in epoch format.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "poolname6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyPoolname6:PolicyPoolname6"
          },
          "description": "IPv6 pool names. The structure of `poolname6` block is documented below.\n"
        },
        "poolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyPoolname:PolicyPoolname"
          },
          "description": "IP Pool names. The structure of `poolname` block is documented below.\n"
        },
        "portPreserve": {
          "type": "string",
          "description": "Enable/disable preservation of the original source port from source NAT if it has not been used. Valid values: `enable`, `disable`.\n"
        },
        "profileGroup": {
          "type": "string",
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
        },
        "radiusMacAuthBypass": {
          "type": "string",
          "description": "Enable MAC authentication bypass. The bypassed MAC address must be received from RADIUS server. Valid values: `enable`, `disable`.\n"
        },
        "redirectUrl": {
          "type": "string",
          "description": "URL users are directed to after seeing and accepting the disclaimer or authenticating.\n"
        },
        "replacemsgOverrideGroup": {
          "type": "string",
          "description": "Override the default replacement message group for this policy.\n"
        },
        "reputationDirection": {
          "type": "string",
          "description": "Direction of the initial traffic for reputation to take effect. Valid values: `source`, `destination`.\n"
        },
        "reputationDirection6": {
          "type": "string",
          "description": "Direction of the initial traffic for IPv6 reputation to take effect. Valid values: `source`, `destination`.\n"
        },
        "reputationMinimum": {
          "type": "integer",
          "description": "Minimum Reputation to take action.\n"
        },
        "reputationMinimum6": {
          "type": "integer",
          "description": "IPv6 Minimum Reputation to take action.\n"
        },
        "rsso": {
          "type": "string",
          "description": "Enable/disable RADIUS single sign-on (RSSO). Valid values: `enable`, `disable`.\n"
        },
        "rtpAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyRtpAddr:PolicyRtpAddr"
          },
          "description": "Address names if this is an RTP NAT policy. The structure of `rtp_addr` block is documented below.\n"
        },
        "rtpNat": {
          "type": "string",
          "description": "Enable Real Time Protocol (RTP) NAT. Valid values: `disable`, `enable`.\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Block or monitor connections to Botnet servers or disable Botnet scanning. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.(Default is `always`)\n"
        },
        "scheduleTimeout": {
          "type": "string",
          "description": "Enable to force current sessions to end when the schedule object times out. Disable allows them to end from inactivity. Valid values: `enable`, `disable`.\n"
        },
        "sctpFilterProfile": {
          "type": "string",
          "description": "Name of an existing SCTP filter profile.\n"
        },
        "sendDenyPacket": {
          "type": "string",
          "description": "Enable to send a reply when a session is denied or blocked by a firewall policy. Valid values: `disable`, `enable`.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyService:PolicyService"
          },
          "description": "Service and service group names. The structure of `service` block is documented below.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n"
        },
        "sgtCheck": {
          "type": "string",
          "description": "Enable/disable security group tags (SGT) check. Valid values: `enable`, `disable`.\n"
        },
        "sgts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySgt:PolicySgt"
          },
          "description": "Security group tags. The structure of `sgt` block is documented below.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing Spam filter profile.\n"
        },
        "srcVendorMacs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySrcVendorMac:PolicySrcVendorMac"
          },
          "description": "Vendor MAC source ID. The structure of `src_vendor_mac` block is documented below.\n"
        },
        "srcaddr6Negate": {
          "type": "string",
          "description": "When enabled srcaddr6 specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySrcaddr6:PolicySrcaddr6"
          },
          "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySrcaddr:PolicySrcaddr"
          },
          "description": "Source address and address group names. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySrcintf:PolicySrcintf"
          },
          "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sshPolicyRedirect": {
          "type": "string",
          "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "sslMirror": {
          "type": "string",
          "description": "Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring). Valid values: `enable`, `disable`.\n"
        },
        "sslMirrorIntfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySslMirrorIntf:PolicySslMirrorIntf"
          },
          "description": "SSL mirror interface name. The structure of `ssl_mirror_intf` block is documented below.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "tcpMssReceiver": {
          "type": "integer",
          "description": "Receiver TCP maximum segment size (MSS).\n"
        },
        "tcpMssSender": {
          "type": "integer",
          "description": "Sender TCP maximum segment size (MSS).\n"
        },
        "tcpSessionWithoutSyn": {
          "type": "string",
          "description": "Enable/disable creation of TCP session without SYN flag. Valid values: `all`, `data-only`, `disable`.\n"
        },
        "timeoutSendRst": {
          "type": "string",
          "description": "Enable/disable sending RST packets when TCP sessions expire. Valid values: `enable`, `disable`.\n"
        },
        "tos": {
          "type": "string",
          "description": "ToS (Type of Service) value used for comparison.\n"
        },
        "tosMask": {
          "type": "string",
          "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n"
        },
        "tosNegate": {
          "type": "string",
          "description": "Enable negated TOS match. Valid values: `enable`, `disable`.\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Reverse traffic shaper.\n"
        },
        "urlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyUrlCategory:PolicyUrlCategory"
          },
          "description": "URL category ID list. The structure of `url_category` block is documented below.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyUser:PolicyUser"
          },
          "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "videofilterProfile": {
          "type": "string",
          "description": "Name of an existing VideoFilter profile.\n"
        },
        "virtualPatchProfile": {
          "type": "string",
          "description": "Name of an existing virtual-patch profile.\n"
        },
        "vlanCosFwd": {
          "type": "integer",
          "description": "VLAN forward direction user priority: 255 passthrough, 0 lowest, 7 highest.\n"
        },
        "vlanCosRev": {
          "type": "integer",
          "description": "VLAN reverse direction user priority: 255 passthrough, 0 lowest, 7 highest.\n"
        },
        "vlanFilter": {
          "type": "string",
          "description": "Set VLAN filters.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP (voipd) profile.\n"
        },
        "vpntunnel": {
          "type": "string",
          "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n"
        },
        "wafProfile": {
          "type": "string",
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "wanopt": {
          "type": "string",
          "description": "Enable/disable WAN optimization. Valid values: `enable`, `disable`.\n"
        },
        "wanoptDetection": {
          "type": "string",
          "description": "WAN optimization auto-detection mode. Valid values: `active`, `passive`, `off`.\n"
        },
        "wanoptPassiveOpt": {
          "type": "string",
          "description": "WAN optimization passive mode options. This option decides what IP address will be used to connect server. Valid values: `default`, `transparent`, `non-transparent`.\n"
        },
        "wanoptPeer": {
          "type": "string",
          "description": "WAN optimization peer.\n"
        },
        "wanoptProfile": {
          "type": "string",
          "description": "WAN optimization profile.\n"
        },
        "wccp": {
          "type": "string",
          "description": "Enable/disable forwarding traffic matching this policy to a configured WCCP server. Valid values: `enable`, `disable`.\n"
        },
        "webcache": {
          "type": "string",
          "description": "Enable/disable web cache. Valid values: `enable`, `disable`.\n"
        },
        "webcacheHttps": {
          "type": "string",
          "description": "Enable/disable web cache for HTTPS. Valid values: `disable`, `enable`.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        },
        "webproxyForwardServer": {
          "type": "string",
          "description": "Web proxy forward server name.\n"
        },
        "webproxyProfile": {
          "type": "string",
          "description": "Webproxy profile name.\n"
        },
        "wsso": {
          "type": "string",
          "description": "Enable/disable WiFi Single Sign On (WSSO). Valid values: `enable`, `disable`.\n"
        },
        "ztnaDeviceOwnership": {
          "type": "string",
          "description": "Enable/disable zero trust device ownership. Valid values: `enable`, `disable`.\n"
        },
        "ztnaEmsTagSecondaries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyZtnaEmsTagSecondary:PolicyZtnaEmsTagSecondary"
          },
          "description": "Source ztna-ems-tag-secondary names. The structure of `ztna_ems_tag_secondary` block is documented below.\n"
        },
        "ztnaEmsTags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyZtnaEmsTag:PolicyZtnaEmsTag"
          },
          "description": "Source ztna-ems-tag names. The structure of `ztna_ems_tag` block is documented below.\n"
        },
        "ztnaGeoTags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicyZtnaGeoTag:PolicyZtnaGeoTag"
          },
          "description": "Source ztna-geo-tag names. The structure of `ztna_geo_tag` block is documented below.\n"
        },
        "ztnaPolicyRedirect": {
          "type": "string",
          "description": "Redirect ZTNA traffic to matching Access-Proxy proxy-policy. Valid values: `enable`, `disable`.\n"
        },
        "ztnaStatus": {
          "type": "string",
          "description": "Enable/disable zero trust access. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTagsMatchLogic": {
          "type": "string",
          "description": "ZTNA tag matching logic. Valid values: `or`, `and`.\n"
        }
      },
      "requiredInputs": [
        "dstintfs",
        "srcintfs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Policy resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Policy action. On FortiOS versions 6.2.0-6.4.0: allow/deny/ipsec. On FortiOS versions >= 6.4.1: accept/deny/ipsec. Valid values: `accept`, `deny`, `ipsec`.\n"
          },
          "antiReplay": {
            "type": "string",
            "description": "Enable/disable anti-replay check. Valid values: `enable`, `disable`.\n"
          },
          "appCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyAppCategory:PolicyAppCategory"
            },
            "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
          },
          "appGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyAppGroup:PolicyAppGroup"
            },
            "description": "Application group names. The structure of `app_group` block is documented below.\n"
          },
          "applicationList": {
            "type": "string",
            "description": "Name of an existing Application list.\n"
          },
          "applications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyApplication:PolicyApplication"
            },
            "description": "Application ID list. The structure of `application` block is documented below.\n"
          },
          "authCert": {
            "type": "string",
            "description": "HTTPS server certificate for policy authentication.\n"
          },
          "authPath": {
            "type": "string",
            "description": "Enable/disable authentication-based routing. Valid values: `enable`, `disable`.\n"
          },
          "authRedirectAddr": {
            "type": "string",
            "description": "HTTP-to-HTTPS redirect address for firewall authentication.\n"
          },
          "autoAsicOffload": {
            "type": "string",
            "description": "Enable/disable policy traffic ASIC offloading. Valid values: `enable`, `disable`.\n"
          },
          "avProfile": {
            "type": "string",
            "description": "Name of an existing Antivirus profile.\n"
          },
          "blockNotification": {
            "type": "string",
            "description": "Enable/disable block notification. Valid values: `enable`, `disable`.\n"
          },
          "captivePortalExempt": {
            "type": "string",
            "description": "Enable to exempt some users from the captive portal. Valid values: `enable`, `disable`.\n"
          },
          "capturePacket": {
            "type": "string",
            "description": "Enable/disable capture packets. Valid values: `enable`, `disable`.\n"
          },
          "casbProfile": {
            "type": "string",
            "description": "Name of an existing CASB profile.\n"
          },
          "cifsProfile": {
            "type": "string",
            "description": "Name of an existing CIFS profile.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "customLogFields": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyCustomLogField:PolicyCustomLogField"
            },
            "description": "Custom fields to append to log messages for this policy. The structure of `custom_log_fields` block is documented below.\n"
          },
          "decryptedTrafficMirror": {
            "type": "string",
            "description": "Decrypted traffic mirror.\n"
          },
          "delayTcpNpuSession": {
            "type": "string",
            "description": "Enable TCP NPU session delay to guarantee packet order of 3-way handshake. Valid values: `enable`, `disable`.\n"
          },
          "devices": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyDevice:PolicyDevice"
            },
            "description": "Names of devices or device groups that can be matched by the policy. The structure of `devices` block is documented below.\n"
          },
          "diameterFilterProfile": {
            "type": "string",
            "description": "Name of an existing Diameter filter profile.\n"
          },
          "diffservCopy": {
            "type": "string",
            "description": "Enable to copy packet's DiffServ values from session's original direction to its reply direction. Valid values: `enable`, `disable`.\n"
          },
          "diffservForward": {
            "type": "string",
            "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
          },
          "diffservReverse": {
            "type": "string",
            "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.\n"
          },
          "diffservcodeForward": {
            "type": "string",
            "description": "Change packet's DiffServ to this value.\n"
          },
          "diffservcodeRev": {
            "type": "string",
            "description": "Change packet's reverse (reply) DiffServ to this value.\n"
          },
          "disclaimer": {
            "type": "string",
            "description": "Enable/disable user authentication disclaimer. Valid values: `enable`, `disable`.\n"
          },
          "dlpProfile": {
            "type": "string",
            "description": "Name of an existing DLP profile.\n"
          },
          "dlpSensor": {
            "type": "string",
            "description": "Name of an existing DLP sensor.\n"
          },
          "dnsfilterProfile": {
            "type": "string",
            "description": "Name of an existing DNS filter profile.\n"
          },
          "dsri": {
            "type": "string",
            "description": "Enable DSRI to ignore HTTP server responses. Valid values: `enable`, `disable`.\n"
          },
          "dstaddr6Negate": {
            "type": "string",
            "description": "When enabled dstaddr6 specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "dstaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyDstaddr6:PolicyDstaddr6"
            },
            "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n"
          },
          "dstaddrNegate": {
            "type": "string",
            "description": "When enabled dstaddr specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyDstaddr:PolicyDstaddr"
            },
            "description": "Destination address and address group names. The structure of `dstaddr` block is documented below.\n"
          },
          "dstintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyDstintf:PolicyDstintf"
            },
            "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
          },
          "dynamicShaping": {
            "type": "string",
            "description": "Enable/disable dynamic RADIUS defined traffic shaping. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emailCollect": {
            "type": "string",
            "description": "Enable/disable email collection. Valid values: `enable`, `disable`.\n"
          },
          "emailfilterProfile": {
            "type": "string",
            "description": "Name of an existing email filter profile.\n"
          },
          "fec": {
            "type": "string",
            "description": "Enable/disable Forward Error Correction on traffic matching this policy on a FEC device. Valid values: `enable`, `disable`.\n"
          },
          "fileFilterProfile": {
            "type": "string",
            "description": "Name of an existing file-filter profile.\n"
          },
          "firewallSessionDirty": {
            "type": "string",
            "description": "How to handle sessions if the configuration of this firewall policy changes. Valid values: `check-all`, `check-new`.\n"
          },
          "fixedport": {
            "type": "string",
            "description": "Enable to prevent source NAT from changing a session's source port. Valid values: `enable`, `disable`.\n"
          },
          "fsso": {
            "type": "string",
            "description": "Enable/disable Fortinet Single Sign-On. Valid values: `enable`, `disable`.\n"
          },
          "fssoAgentForNtlm": {
            "type": "string",
            "description": "FSSO agent to use for NTLM authentication.\n"
          },
          "fssoGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyFssoGroup:PolicyFssoGroup"
            },
            "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
          },
          "geoipAnycast": {
            "type": "string",
            "description": "Enable/disable recognition of anycast IP addresses using the geography IP database. Valid values: `enable`, `disable`.\n"
          },
          "geoipMatch": {
            "type": "string",
            "description": "Match geography address based either on its physical location or registered location. Valid values: `physical-location`, `registered-location`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "globalLabel": {
            "type": "string",
            "description": "Label for the policy that appears when the GUI is in Global View mode.\n"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyGroup:PolicyGroup"
            },
            "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
          },
          "httpPolicyRedirect": {
            "type": "string",
            "description": "Redirect HTTP(S) traffic to matching transparent web proxy policy. Valid values: `enable`, `disable`.\n"
          },
          "icapProfile": {
            "type": "string",
            "description": "Name of an existing ICAP profile.\n"
          },
          "identityBasedRoute": {
            "type": "string",
            "description": "Name of identity-based routing rule.\n"
          },
          "inbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Valid values: `enable`, `disable`.\n"
          },
          "inspectionMode": {
            "type": "string",
            "description": "Policy inspection mode (Flow/proxy). Default is Flow mode. Valid values: `proxy`, `flow`.\n"
          },
          "internetService": {
            "type": "string",
            "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.  Valid values: `enable`, `disable`.\n"
          },
          "internetService6": {
            "type": "string",
            "description": "Enable/disable use of IPv6 Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.\n"
          },
          "internetService6CustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetService6CustomGroup:PolicyInternetService6CustomGroup"
            },
            "description": "Custom Internet Service6 group name. The structure of `internet_service6_custom_group` block is documented below.\n"
          },
          "internetService6Customs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetService6Custom:PolicyInternetService6Custom"
            },
            "description": "Custom IPv6 Internet Service name. The structure of `internet_service6_custom` block is documented below.\n"
          },
          "internetService6Groups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetService6Group:PolicyInternetService6Group"
            },
            "description": "Internet Service group name. The structure of `internet_service6_group` block is documented below.\n"
          },
          "internetService6Names": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetService6Name:PolicyInternetService6Name"
            },
            "description": "IPv6 Internet Service name. The structure of `internet_service6_name` block is documented below.\n"
          },
          "internetService6Negate": {
            "type": "string",
            "description": "When enabled internet-service6 specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "internetService6Src": {
            "type": "string",
            "description": "Enable/disable use of IPv6 Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
          },
          "internetService6SrcCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcCustomGroup:PolicyInternetService6SrcCustomGroup"
            },
            "description": "Custom Internet Service6 source group name. The structure of `internet_service6_src_custom_group` block is documented below.\n"
          },
          "internetService6SrcCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcCustom:PolicyInternetService6SrcCustom"
            },
            "description": "Custom IPv6 Internet Service source name. The structure of `internet_service6_src_custom` block is documented below.\n"
          },
          "internetService6SrcGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcGroup:PolicyInternetService6SrcGroup"
            },
            "description": "Internet Service6 source group name. The structure of `internet_service6_src_group` block is documented below.\n"
          },
          "internetService6SrcNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetService6SrcName:PolicyInternetService6SrcName"
            },
            "description": "IPv6 Internet Service source name. The structure of `internet_service6_src_name` block is documented below.\n"
          },
          "internetService6SrcNegate": {
            "type": "string",
            "description": "When enabled internet-service6-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "internetServiceCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceCustomGroup:PolicyInternetServiceCustomGroup"
            },
            "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
          },
          "internetServiceCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceCustom:PolicyInternetServiceCustom"
            },
            "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
          },
          "internetServiceGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceGroup:PolicyInternetServiceGroup"
            },
            "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
          },
          "internetServiceIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceId:PolicyInternetServiceId"
            },
            "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
          },
          "internetServiceNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceName:PolicyInternetServiceName"
            },
            "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
          },
          "internetServiceNegate": {
            "type": "string",
            "description": "When enabled internet-service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "internetServiceSrc": {
            "type": "string",
            "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.  Valid values: `enable`, `disable`.\n"
          },
          "internetServiceSrcCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcCustomGroup:PolicyInternetServiceSrcCustomGroup"
            },
            "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
          },
          "internetServiceSrcCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcCustom:PolicyInternetServiceSrcCustom"
            },
            "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
          },
          "internetServiceSrcGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcGroup:PolicyInternetServiceSrcGroup"
            },
            "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
          },
          "internetServiceSrcIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcId:PolicyInternetServiceSrcId"
            },
            "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
          },
          "internetServiceSrcNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyInternetServiceSrcName:PolicyInternetServiceSrcName"
            },
            "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
          },
          "internetServiceSrcNegate": {
            "type": "string",
            "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "ippool": {
            "type": "string",
            "description": "Enable to use IP Pools for source NAT. Valid values: `enable`, `disable`.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "Name of an existing IPS sensor.\n"
          },
          "ipsVoipFilter": {
            "type": "string",
            "description": "Name of an existing VoIP (ips) profile.\n"
          },
          "label": {
            "type": "string",
            "description": "Label for the policy that appears when the GUI is in Section View mode.\n"
          },
          "learningMode": {
            "type": "string",
            "description": "Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be generated. Valid values: `enable`, `disable`.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
          },
          "logtrafficStart": {
            "type": "string",
            "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
          },
          "matchVip": {
            "type": "string",
            "description": "Enable to match packets that have had their destination addresses changed by a VIP. Valid values: `enable`, `disable`.\n"
          },
          "matchVipOnly": {
            "type": "string",
            "description": "Enable/disable matching of only those packets that have had their destination addresses changed by a VIP. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "nat": {
            "type": "string",
            "description": "Enable/disable source NAT. Valid values: `enable`, `disable`.\n"
          },
          "nat46": {
            "type": "string",
            "description": "Enable/disable NAT46. Valid values: `enable`, `disable`.\n"
          },
          "nat64": {
            "type": "string",
            "description": "Enable/disable NAT64. Valid values: `enable`, `disable`.\n"
          },
          "natinbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: apply destination NAT to inbound traffic. Valid values: `enable`, `disable`.\n"
          },
          "natip": {
            "type": "string",
            "description": "Policy-based IPsec VPN: source NAT IP address for outgoing traffic.\n"
          },
          "natoutbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: apply source NAT to outbound traffic. Valid values: `enable`, `disable`.\n"
          },
          "networkServiceDynamics": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyNetworkServiceDynamic:PolicyNetworkServiceDynamic"
            },
            "description": "Dynamic Network Service name. The structure of `network_service_dynamic` block is documented below.\n"
          },
          "networkServiceSrcDynamics": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyNetworkServiceSrcDynamic:PolicyNetworkServiceSrcDynamic"
            },
            "description": "Dynamic Network Service source name. The structure of `network_service_src_dynamic` block is documented below.\n"
          },
          "npAcceleration": {
            "type": "string",
            "description": "Enable/disable UTM Network Processor acceleration. Valid values: `enable`, `disable`.\n"
          },
          "ntlm": {
            "type": "string",
            "description": "Enable/disable NTLM authentication. Valid values: `enable`, `disable`.\n"
          },
          "ntlmEnabledBrowsers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyNtlmEnabledBrowser:PolicyNtlmEnabledBrowser"
            },
            "description": "HTTP-User-Agent value of supported browsers. The structure of `ntlm_enabled_browsers` block is documented below.\n"
          },
          "ntlmGuest": {
            "type": "string",
            "description": "Enable/disable NTLM guest user access. Valid values: `enable`, `disable`.\n"
          },
          "outbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: only traffic from the internal network can initiate a VPN. Valid values: `enable`, `disable`.\n"
          },
          "passiveWanHealthMeasurement": {
            "type": "string",
            "description": "Enable/disable passive WAN health measurement. When enabled, auto-asic-offload is disabled. Valid values: `enable`, `disable`.\n"
          },
          "pcpInbound": {
            "type": "string",
            "description": "Enable/disable PCP inbound DNAT. Valid values: `enable`, `disable`.\n"
          },
          "pcpOutbound": {
            "type": "string",
            "description": "Enable/disable PCP outbound SNAT. Valid values: `enable`, `disable`.\n"
          },
          "pcpPoolnames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyPcpPoolname:PolicyPcpPoolname"
            },
            "description": "PCP pool names. The structure of `pcp_poolname` block is documented below.\n"
          },
          "perIpShaper": {
            "type": "string",
            "description": "Per-IP traffic shaper.\n"
          },
          "permitAnyHost": {
            "type": "string",
            "description": "Accept UDP packets from any host. Valid values: `enable`, `disable`.\n"
          },
          "permitStunHost": {
            "type": "string",
            "description": "Accept UDP packets from any Session Traversal Utilities for NAT (STUN) host. Valid values: `enable`, `disable`.\n"
          },
          "policyExpiry": {
            "type": "string",
            "description": "Enable/disable policy expiry. Valid values: `enable`, `disable`.\n"
          },
          "policyExpiryDate": {
            "type": "string",
            "description": "Policy expiry date (YYYY-MM-DD HH:MM:SS).\n"
          },
          "policyExpiryDateUtc": {
            "type": "string",
            "description": "Policy expiry date and time, in epoch format.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "poolname6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyPoolname6:PolicyPoolname6"
            },
            "description": "IPv6 pool names. The structure of `poolname6` block is documented below.\n"
          },
          "poolnames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyPoolname:PolicyPoolname"
            },
            "description": "IP Pool names. The structure of `poolname` block is documented below.\n"
          },
          "portPreserve": {
            "type": "string",
            "description": "Enable/disable preservation of the original source port from source NAT if it has not been used. Valid values: `enable`, `disable`.\n"
          },
          "profileGroup": {
            "type": "string",
            "description": "Name of profile group.\n"
          },
          "profileProtocolOptions": {
            "type": "string",
            "description": "Name of an existing Protocol options profile.\n"
          },
          "profileType": {
            "type": "string",
            "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
          },
          "radiusMacAuthBypass": {
            "type": "string",
            "description": "Enable MAC authentication bypass. The bypassed MAC address must be received from RADIUS server. Valid values: `enable`, `disable`.\n"
          },
          "redirectUrl": {
            "type": "string",
            "description": "URL users are directed to after seeing and accepting the disclaimer or authenticating.\n"
          },
          "replacemsgOverrideGroup": {
            "type": "string",
            "description": "Override the default replacement message group for this policy.\n"
          },
          "reputationDirection": {
            "type": "string",
            "description": "Direction of the initial traffic for reputation to take effect. Valid values: `source`, `destination`.\n"
          },
          "reputationDirection6": {
            "type": "string",
            "description": "Direction of the initial traffic for IPv6 reputation to take effect. Valid values: `source`, `destination`.\n"
          },
          "reputationMinimum": {
            "type": "integer",
            "description": "Minimum Reputation to take action.\n"
          },
          "reputationMinimum6": {
            "type": "integer",
            "description": "IPv6 Minimum Reputation to take action.\n"
          },
          "rsso": {
            "type": "string",
            "description": "Enable/disable RADIUS single sign-on (RSSO). Valid values: `enable`, `disable`.\n"
          },
          "rtpAddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyRtpAddr:PolicyRtpAddr"
            },
            "description": "Address names if this is an RTP NAT policy. The structure of `rtp_addr` block is documented below.\n"
          },
          "rtpNat": {
            "type": "string",
            "description": "Enable Real Time Protocol (RTP) NAT. Valid values: `disable`, `enable`.\n"
          },
          "scanBotnetConnections": {
            "type": "string",
            "description": "Block or monitor connections to Botnet servers or disable Botnet scanning. Valid values: `disable`, `block`, `monitor`.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Schedule name.(Default is `always`)\n"
          },
          "scheduleTimeout": {
            "type": "string",
            "description": "Enable to force current sessions to end when the schedule object times out. Disable allows them to end from inactivity. Valid values: `enable`, `disable`.\n"
          },
          "sctpFilterProfile": {
            "type": "string",
            "description": "Name of an existing SCTP filter profile.\n"
          },
          "sendDenyPacket": {
            "type": "string",
            "description": "Enable to send a reply when a session is denied or blocked by a firewall policy. Valid values: `disable`, `enable`.\n"
          },
          "serviceNegate": {
            "type": "string",
            "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyService:PolicyService"
            },
            "description": "Service and service group names. The structure of `service` block is documented below.\n"
          },
          "sessionTtl": {
            "type": "integer",
            "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n"
          },
          "sgtCheck": {
            "type": "string",
            "description": "Enable/disable security group tags (SGT) check. Valid values: `enable`, `disable`.\n"
          },
          "sgts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicySgt:PolicySgt"
            },
            "description": "Security group tags. The structure of `sgt` block is documented below.\n"
          },
          "spamfilterProfile": {
            "type": "string",
            "description": "Name of an existing Spam filter profile.\n"
          },
          "srcVendorMacs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicySrcVendorMac:PolicySrcVendorMac"
            },
            "description": "Vendor MAC source ID. The structure of `src_vendor_mac` block is documented below.\n"
          },
          "srcaddr6Negate": {
            "type": "string",
            "description": "When enabled srcaddr6 specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "srcaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicySrcaddr6:PolicySrcaddr6"
            },
            "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n"
          },
          "srcaddrNegate": {
            "type": "string",
            "description": "When enabled srcaddr specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicySrcaddr:PolicySrcaddr"
            },
            "description": "Source address and address group names. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicySrcintf:PolicySrcintf"
            },
            "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
          },
          "sshFilterProfile": {
            "type": "string",
            "description": "Name of an existing SSH filter profile.\n"
          },
          "sshPolicyRedirect": {
            "type": "string",
            "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
          },
          "sslMirror": {
            "type": "string",
            "description": "Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring). Valid values: `enable`, `disable`.\n"
          },
          "sslMirrorIntfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicySslMirrorIntf:PolicySslMirrorIntf"
            },
            "description": "SSL mirror interface name. The structure of `ssl_mirror_intf` block is documented below.\n"
          },
          "sslSshProfile": {
            "type": "string",
            "description": "Name of an existing SSL SSH profile.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "tcpMssReceiver": {
            "type": "integer",
            "description": "Receiver TCP maximum segment size (MSS).\n"
          },
          "tcpMssSender": {
            "type": "integer",
            "description": "Sender TCP maximum segment size (MSS).\n"
          },
          "tcpSessionWithoutSyn": {
            "type": "string",
            "description": "Enable/disable creation of TCP session without SYN flag. Valid values: `all`, `data-only`, `disable`.\n"
          },
          "timeoutSendRst": {
            "type": "string",
            "description": "Enable/disable sending RST packets when TCP sessions expire. Valid values: `enable`, `disable`.\n"
          },
          "tos": {
            "type": "string",
            "description": "ToS (Type of Service) value used for comparison.\n"
          },
          "tosMask": {
            "type": "string",
            "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n"
          },
          "tosNegate": {
            "type": "string",
            "description": "Enable negated TOS match. Valid values: `enable`, `disable`.\n"
          },
          "trafficShaper": {
            "type": "string",
            "description": "Traffic shaper.\n"
          },
          "trafficShaperReverse": {
            "type": "string",
            "description": "Reverse traffic shaper.\n"
          },
          "urlCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyUrlCategory:PolicyUrlCategory"
            },
            "description": "URL category ID list. The structure of `url_category` block is documented below.\n"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyUser:PolicyUser"
            },
            "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
          },
          "utmStatus": {
            "type": "string",
            "description": "Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "videofilterProfile": {
            "type": "string",
            "description": "Name of an existing VideoFilter profile.\n"
          },
          "virtualPatchProfile": {
            "type": "string",
            "description": "Name of an existing virtual-patch profile.\n"
          },
          "vlanCosFwd": {
            "type": "integer",
            "description": "VLAN forward direction user priority: 255 passthrough, 0 lowest, 7 highest.\n"
          },
          "vlanCosRev": {
            "type": "integer",
            "description": "VLAN reverse direction user priority: 255 passthrough, 0 lowest, 7 highest.\n"
          },
          "vlanFilter": {
            "type": "string",
            "description": "Set VLAN filters.\n"
          },
          "voipProfile": {
            "type": "string",
            "description": "Name of an existing VoIP (voipd) profile.\n"
          },
          "vpntunnel": {
            "type": "string",
            "description": "Policy-based IPsec VPN: name of the IPsec VPN Phase 1.\n"
          },
          "wafProfile": {
            "type": "string",
            "description": "Name of an existing Web application firewall profile.\n"
          },
          "wanopt": {
            "type": "string",
            "description": "Enable/disable WAN optimization. Valid values: `enable`, `disable`.\n"
          },
          "wanoptDetection": {
            "type": "string",
            "description": "WAN optimization auto-detection mode. Valid values: `active`, `passive`, `off`.\n"
          },
          "wanoptPassiveOpt": {
            "type": "string",
            "description": "WAN optimization passive mode options. This option decides what IP address will be used to connect server. Valid values: `default`, `transparent`, `non-transparent`.\n"
          },
          "wanoptPeer": {
            "type": "string",
            "description": "WAN optimization peer.\n"
          },
          "wanoptProfile": {
            "type": "string",
            "description": "WAN optimization profile.\n"
          },
          "wccp": {
            "type": "string",
            "description": "Enable/disable forwarding traffic matching this policy to a configured WCCP server. Valid values: `enable`, `disable`.\n"
          },
          "webcache": {
            "type": "string",
            "description": "Enable/disable web cache. Valid values: `enable`, `disable`.\n"
          },
          "webcacheHttps": {
            "type": "string",
            "description": "Enable/disable web cache for HTTPS. Valid values: `disable`, `enable`.\n"
          },
          "webfilterProfile": {
            "type": "string",
            "description": "Name of an existing Web filter profile.\n"
          },
          "webproxyForwardServer": {
            "type": "string",
            "description": "Web proxy forward server name.\n"
          },
          "webproxyProfile": {
            "type": "string",
            "description": "Webproxy profile name.\n"
          },
          "wsso": {
            "type": "string",
            "description": "Enable/disable WiFi Single Sign On (WSSO). Valid values: `enable`, `disable`.\n"
          },
          "ztnaDeviceOwnership": {
            "type": "string",
            "description": "Enable/disable zero trust device ownership. Valid values: `enable`, `disable`.\n"
          },
          "ztnaEmsTagSecondaries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyZtnaEmsTagSecondary:PolicyZtnaEmsTagSecondary"
            },
            "description": "Source ztna-ems-tag-secondary names. The structure of `ztna_ems_tag_secondary` block is documented below.\n"
          },
          "ztnaEmsTags": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyZtnaEmsTag:PolicyZtnaEmsTag"
            },
            "description": "Source ztna-ems-tag names. The structure of `ztna_ems_tag` block is documented below.\n"
          },
          "ztnaGeoTags": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicyZtnaGeoTag:PolicyZtnaGeoTag"
            },
            "description": "Source ztna-geo-tag names. The structure of `ztna_geo_tag` block is documented below.\n"
          },
          "ztnaPolicyRedirect": {
            "type": "string",
            "description": "Redirect ZTNA traffic to matching Access-Proxy proxy-policy. Valid values: `enable`, `disable`.\n"
          },
          "ztnaStatus": {
            "type": "string",
            "description": "Enable/disable zero trust access. Valid values: `enable`, `disable`.\n"
          },
          "ztnaTagsMatchLogic": {
            "type": "string",
            "description": "ZTNA tag matching logic. Valid values: `or`, `and`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/policyMove:PolicyMove": {
      "properties": {
        "comment": {
          "type": "string"
        },
        "move": {
          "type": "string"
        },
        "policyidDst": {
          "type": "integer"
        },
        "policyidSrc": {
          "type": "integer"
        },
        "statePolicySrcdstPos": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "move",
        "policyidDst",
        "policyidSrc"
      ],
      "inputProperties": {
        "comment": {
          "type": "string"
        },
        "move": {
          "type": "string"
        },
        "policyidDst": {
          "type": "integer"
        },
        "policyidSrc": {
          "type": "integer"
        },
        "statePolicySrcdstPos": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "move",
        "policyidDst",
        "policyidSrc"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering PolicyMove resources.\n",
        "properties": {
          "comment": {
            "type": "string"
          },
          "move": {
            "type": "string"
          },
          "policyidDst": {
            "type": "integer"
          },
          "policyidSrc": {
            "type": "integer"
          },
          "statePolicySrcdstPos": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/policySort:PolicySort": {
      "properties": {
        "comment": {
          "type": "string"
        },
        "forceRecreate": {
          "type": "string"
        },
        "manualOrders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sortby": {
          "type": "string"
        },
        "sortdirection": {
          "type": "string"
        },
        "statePolicyLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FPolicySortStatePolicyList:PolicySortStatePolicyList"
          }
        },
        "status": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "forceRecreate",
        "manualOrders",
        "sortby",
        "sortdirection",
        "statePolicyLists",
        "status"
      ],
      "inputProperties": {
        "comment": {
          "type": "string"
        },
        "forceRecreate": {
          "type": "string"
        },
        "manualOrders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sortby": {
          "type": "string"
        },
        "sortdirection": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "sortby",
        "sortdirection"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering PolicySort resources.\n",
        "properties": {
          "comment": {
            "type": "string"
          },
          "forceRecreate": {
            "type": "string"
          },
          "manualOrders": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sortby": {
            "type": "string"
          },
          "sortdirection": {
            "type": "string"
          },
          "statePolicyLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FPolicySortStatePolicyList:PolicySortStatePolicyList"
            }
          },
          "status": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/profilegroup:Profilegroup": {
      "description": "Configure profile groups.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Profilegroup(\"trname\", {\n    profileProtocolOptions: \"default\",\n    sslSshProfile: \"deep-inspection\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Profilegroup(\"trname\",\n    profile_protocol_options=\"default\",\n    ssl_ssh_profile=\"deep-inspection\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Profilegroup(\"trname\", new()\n    {\n        ProfileProtocolOptions = \"default\",\n        SslSshProfile = \"deep-inspection\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewProfilegroup(ctx, \"trname\", &firewall.ProfilegroupArgs{\n\t\t\tProfileProtocolOptions: pulumi.String(\"default\"),\n\t\t\tSslSshProfile:          pulumi.String(\"deep-inspection\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Profilegroup;\nimport com.pulumi.fortios.firewall.ProfilegroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Profilegroup(\"trname\", ProfilegroupArgs.builder()\n            .profileProtocolOptions(\"default\")\n            .sslSshProfile(\"deep-inspection\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Profilegroup\n    properties:\n      profileProtocolOptions: default\n      sslSshProfile: deep-inspection\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall ProfileGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/profilegroup:Profilegroup labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/profilegroup:Profilegroup labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "Name of an existing CASB profile.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "diameterFilterProfile": {
          "type": "string",
          "description": "Name of an existing Diameter filter profile.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "Name of an existing DLP profile.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dnsfilterProfile": {
          "type": "string",
          "description": "Name of an existing DNS filter profile.\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "fileFilterProfile": {
          "type": "string",
          "description": "Name of an existing file-filter profile.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "ipsVoipFilter": {
          "type": "string",
          "description": "Name of an existing VoIP (ips) profile.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile group name.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "sctpFilterProfile": {
          "type": "string",
          "description": "Name of an existing SCTP filter profile.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing Spam filter profile.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "videofilterProfile": {
          "type": "string",
          "description": "Name of an existing VideoFilter profile.\n"
        },
        "virtualPatchProfile": {
          "type": "string",
          "description": "Name of an existing virtual-patch profile.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP (voipd) profile.\n"
        },
        "wafProfile": {
          "type": "string",
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        }
      },
      "type": "object",
      "required": [
        "applicationList",
        "avProfile",
        "casbProfile",
        "cifsProfile",
        "diameterFilterProfile",
        "dlpProfile",
        "dlpSensor",
        "dnsfilterProfile",
        "emailfilterProfile",
        "fileFilterProfile",
        "icapProfile",
        "ipsSensor",
        "ipsVoipFilter",
        "name",
        "profileProtocolOptions",
        "sctpFilterProfile",
        "spamfilterProfile",
        "sshFilterProfile",
        "sslSshProfile",
        "vdomparam",
        "videofilterProfile",
        "virtualPatchProfile",
        "voipProfile",
        "wafProfile",
        "webfilterProfile"
      ],
      "inputProperties": {
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "Name of an existing CASB profile.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "diameterFilterProfile": {
          "type": "string",
          "description": "Name of an existing Diameter filter profile.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "Name of an existing DLP profile.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dnsfilterProfile": {
          "type": "string",
          "description": "Name of an existing DNS filter profile.\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "fileFilterProfile": {
          "type": "string",
          "description": "Name of an existing file-filter profile.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "ipsVoipFilter": {
          "type": "string",
          "description": "Name of an existing VoIP (ips) profile.\n"
        },
        "name": {
          "type": "string",
          "description": "Profile group name.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "sctpFilterProfile": {
          "type": "string",
          "description": "Name of an existing SCTP filter profile.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing Spam filter profile.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "videofilterProfile": {
          "type": "string",
          "description": "Name of an existing VideoFilter profile.\n"
        },
        "virtualPatchProfile": {
          "type": "string",
          "description": "Name of an existing virtual-patch profile.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP (voipd) profile.\n"
        },
        "wafProfile": {
          "type": "string",
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profilegroup resources.\n",
        "properties": {
          "applicationList": {
            "type": "string",
            "description": "Name of an existing Application list.\n"
          },
          "avProfile": {
            "type": "string",
            "description": "Name of an existing Antivirus profile.\n"
          },
          "casbProfile": {
            "type": "string",
            "description": "Name of an existing CASB profile.\n"
          },
          "cifsProfile": {
            "type": "string",
            "description": "Name of an existing CIFS profile.\n"
          },
          "diameterFilterProfile": {
            "type": "string",
            "description": "Name of an existing Diameter filter profile.\n"
          },
          "dlpProfile": {
            "type": "string",
            "description": "Name of an existing DLP profile.\n"
          },
          "dlpSensor": {
            "type": "string",
            "description": "Name of an existing DLP sensor.\n"
          },
          "dnsfilterProfile": {
            "type": "string",
            "description": "Name of an existing DNS filter profile.\n"
          },
          "emailfilterProfile": {
            "type": "string",
            "description": "Name of an existing email filter profile.\n"
          },
          "fileFilterProfile": {
            "type": "string",
            "description": "Name of an existing file-filter profile.\n"
          },
          "icapProfile": {
            "type": "string",
            "description": "Name of an existing ICAP profile.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "Name of an existing IPS sensor.\n"
          },
          "ipsVoipFilter": {
            "type": "string",
            "description": "Name of an existing VoIP (ips) profile.\n"
          },
          "name": {
            "type": "string",
            "description": "Profile group name.\n"
          },
          "profileProtocolOptions": {
            "type": "string",
            "description": "Name of an existing Protocol options profile.\n"
          },
          "sctpFilterProfile": {
            "type": "string",
            "description": "Name of an existing SCTP filter profile.\n"
          },
          "spamfilterProfile": {
            "type": "string",
            "description": "Name of an existing Spam filter profile.\n"
          },
          "sshFilterProfile": {
            "type": "string",
            "description": "Name of an existing SSH filter profile.\n"
          },
          "sslSshProfile": {
            "type": "string",
            "description": "Name of an existing SSL SSH profile.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "videofilterProfile": {
            "type": "string",
            "description": "Name of an existing VideoFilter profile.\n"
          },
          "virtualPatchProfile": {
            "type": "string",
            "description": "Name of an existing virtual-patch profile.\n"
          },
          "voipProfile": {
            "type": "string",
            "description": "Name of an existing VoIP (voipd) profile.\n"
          },
          "wafProfile": {
            "type": "string",
            "description": "Name of an existing Web application firewall profile.\n"
          },
          "webfilterProfile": {
            "type": "string",
            "description": "Name of an existing Web filter profile.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/profileprotocoloptions:Profileprotocoloptions": {
      "description": "Configure protocol options.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Profileprotocoloptions(\"trname\", {\n    dns: {\n        ports: 53,\n        status: \"enable\",\n    },\n    ftp: {\n        comfortAmount: 1,\n        comfortInterval: 10,\n        inspectAll: \"disable\",\n        options: \"splice\",\n        oversizeLimit: 10,\n        ports: 21,\n        scanBzip2: \"enable\",\n        status: \"enable\",\n        uncompressedNestLimit: 12,\n        uncompressedOversizeLimit: 10,\n    },\n    http: {\n        blockPageStatusCode: 403,\n        comfortAmount: 1,\n        comfortInterval: 10,\n        fortinetBar: \"disable\",\n        fortinetBarPort: 8011,\n        httpPolicy: \"disable\",\n        inspectAll: \"disable\",\n        oversizeLimit: 10,\n        ports: 80,\n        rangeBlock: \"disable\",\n        retryCount: 0,\n        scanBzip2: \"enable\",\n        status: \"enable\",\n        streamingContentBypass: \"enable\",\n        stripXForwardedFor: \"disable\",\n        switchingProtocols: \"bypass\",\n        uncompressedNestLimit: 12,\n        uncompressedOversizeLimit: 10,\n    },\n    imap: {\n        inspectAll: \"disable\",\n        options: \"fragmail\",\n        oversizeLimit: 10,\n        ports: 143,\n        scanBzip2: \"enable\",\n        status: \"enable\",\n        uncompressedNestLimit: 12,\n        uncompressedOversizeLimit: 10,\n    },\n    mailSignature: {\n        status: \"disable\",\n    },\n    mapi: {\n        options: \"fragmail\",\n        oversizeLimit: 10,\n        ports: 135,\n        scanBzip2: \"enable\",\n        status: \"enable\",\n        uncompressedNestLimit: 12,\n        uncompressedOversizeLimit: 10,\n    },\n    nntp: {\n        inspectAll: \"disable\",\n        options: \"splice\",\n        oversizeLimit: 10,\n        ports: 119,\n        scanBzip2: \"enable\",\n        status: \"enable\",\n        uncompressedNestLimit: 12,\n        uncompressedOversizeLimit: 10,\n    },\n    oversizeLog: \"disable\",\n    pop3: {\n        inspectAll: \"disable\",\n        options: \"fragmail\",\n        oversizeLimit: 10,\n        ports: 110,\n        scanBzip2: \"enable\",\n        status: \"enable\",\n        uncompressedNestLimit: 12,\n        uncompressedOversizeLimit: 10,\n    },\n    rpcOverHttp: \"disable\",\n    smtp: {\n        inspectAll: \"disable\",\n        options: \"fragmail splice\",\n        oversizeLimit: 10,\n        ports: 25,\n        scanBzip2: \"enable\",\n        serverBusy: \"disable\",\n        status: \"enable\",\n        uncompressedNestLimit: 12,\n        uncompressedOversizeLimit: 10,\n    },\n    switchingProtocolsLog: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Profileprotocoloptions(\"trname\",\n    dns=fortios.firewall.ProfileprotocoloptionsDnsArgs(\n        ports=53,\n        status=\"enable\",\n    ),\n    ftp=fortios.firewall.ProfileprotocoloptionsFtpArgs(\n        comfort_amount=1,\n        comfort_interval=10,\n        inspect_all=\"disable\",\n        options=\"splice\",\n        oversize_limit=10,\n        ports=21,\n        scan_bzip2=\"enable\",\n        status=\"enable\",\n        uncompressed_nest_limit=12,\n        uncompressed_oversize_limit=10,\n    ),\n    http=fortios.firewall.ProfileprotocoloptionsHttpArgs(\n        block_page_status_code=403,\n        comfort_amount=1,\n        comfort_interval=10,\n        fortinet_bar=\"disable\",\n        fortinet_bar_port=8011,\n        http_policy=\"disable\",\n        inspect_all=\"disable\",\n        oversize_limit=10,\n        ports=80,\n        range_block=\"disable\",\n        retry_count=0,\n        scan_bzip2=\"enable\",\n        status=\"enable\",\n        streaming_content_bypass=\"enable\",\n        strip_x_forwarded_for=\"disable\",\n        switching_protocols=\"bypass\",\n        uncompressed_nest_limit=12,\n        uncompressed_oversize_limit=10,\n    ),\n    imap=fortios.firewall.ProfileprotocoloptionsImapArgs(\n        inspect_all=\"disable\",\n        options=\"fragmail\",\n        oversize_limit=10,\n        ports=143,\n        scan_bzip2=\"enable\",\n        status=\"enable\",\n        uncompressed_nest_limit=12,\n        uncompressed_oversize_limit=10,\n    ),\n    mail_signature=fortios.firewall.ProfileprotocoloptionsMailSignatureArgs(\n        status=\"disable\",\n    ),\n    mapi=fortios.firewall.ProfileprotocoloptionsMapiArgs(\n        options=\"fragmail\",\n        oversize_limit=10,\n        ports=135,\n        scan_bzip2=\"enable\",\n        status=\"enable\",\n        uncompressed_nest_limit=12,\n        uncompressed_oversize_limit=10,\n    ),\n    nntp=fortios.firewall.ProfileprotocoloptionsNntpArgs(\n        inspect_all=\"disable\",\n        options=\"splice\",\n        oversize_limit=10,\n        ports=119,\n        scan_bzip2=\"enable\",\n        status=\"enable\",\n        uncompressed_nest_limit=12,\n        uncompressed_oversize_limit=10,\n    ),\n    oversize_log=\"disable\",\n    pop3=fortios.firewall.ProfileprotocoloptionsPop3Args(\n        inspect_all=\"disable\",\n        options=\"fragmail\",\n        oversize_limit=10,\n        ports=110,\n        scan_bzip2=\"enable\",\n        status=\"enable\",\n        uncompressed_nest_limit=12,\n        uncompressed_oversize_limit=10,\n    ),\n    rpc_over_http=\"disable\",\n    smtp=fortios.firewall.ProfileprotocoloptionsSmtpArgs(\n        inspect_all=\"disable\",\n        options=\"fragmail splice\",\n        oversize_limit=10,\n        ports=25,\n        scan_bzip2=\"enable\",\n        server_busy=\"disable\",\n        status=\"enable\",\n        uncompressed_nest_limit=12,\n        uncompressed_oversize_limit=10,\n    ),\n    switching_protocols_log=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Profileprotocoloptions(\"trname\", new()\n    {\n        Dns = new Fortios.Firewall.Inputs.ProfileprotocoloptionsDnsArgs\n        {\n            Ports = 53,\n            Status = \"enable\",\n        },\n        Ftp = new Fortios.Firewall.Inputs.ProfileprotocoloptionsFtpArgs\n        {\n            ComfortAmount = 1,\n            ComfortInterval = 10,\n            InspectAll = \"disable\",\n            Options = \"splice\",\n            OversizeLimit = 10,\n            Ports = 21,\n            ScanBzip2 = \"enable\",\n            Status = \"enable\",\n            UncompressedNestLimit = 12,\n            UncompressedOversizeLimit = 10,\n        },\n        Http = new Fortios.Firewall.Inputs.ProfileprotocoloptionsHttpArgs\n        {\n            BlockPageStatusCode = 403,\n            ComfortAmount = 1,\n            ComfortInterval = 10,\n            FortinetBar = \"disable\",\n            FortinetBarPort = 8011,\n            HttpPolicy = \"disable\",\n            InspectAll = \"disable\",\n            OversizeLimit = 10,\n            Ports = 80,\n            RangeBlock = \"disable\",\n            RetryCount = 0,\n            ScanBzip2 = \"enable\",\n            Status = \"enable\",\n            StreamingContentBypass = \"enable\",\n            StripXForwardedFor = \"disable\",\n            SwitchingProtocols = \"bypass\",\n            UncompressedNestLimit = 12,\n            UncompressedOversizeLimit = 10,\n        },\n        Imap = new Fortios.Firewall.Inputs.ProfileprotocoloptionsImapArgs\n        {\n            InspectAll = \"disable\",\n            Options = \"fragmail\",\n            OversizeLimit = 10,\n            Ports = 143,\n            ScanBzip2 = \"enable\",\n            Status = \"enable\",\n            UncompressedNestLimit = 12,\n            UncompressedOversizeLimit = 10,\n        },\n        MailSignature = new Fortios.Firewall.Inputs.ProfileprotocoloptionsMailSignatureArgs\n        {\n            Status = \"disable\",\n        },\n        Mapi = new Fortios.Firewall.Inputs.ProfileprotocoloptionsMapiArgs\n        {\n            Options = \"fragmail\",\n            OversizeLimit = 10,\n            Ports = 135,\n            ScanBzip2 = \"enable\",\n            Status = \"enable\",\n            UncompressedNestLimit = 12,\n            UncompressedOversizeLimit = 10,\n        },\n        Nntp = new Fortios.Firewall.Inputs.ProfileprotocoloptionsNntpArgs\n        {\n            InspectAll = \"disable\",\n            Options = \"splice\",\n            OversizeLimit = 10,\n            Ports = 119,\n            ScanBzip2 = \"enable\",\n            Status = \"enable\",\n            UncompressedNestLimit = 12,\n            UncompressedOversizeLimit = 10,\n        },\n        OversizeLog = \"disable\",\n        Pop3 = new Fortios.Firewall.Inputs.ProfileprotocoloptionsPop3Args\n        {\n            InspectAll = \"disable\",\n            Options = \"fragmail\",\n            OversizeLimit = 10,\n            Ports = 110,\n            ScanBzip2 = \"enable\",\n            Status = \"enable\",\n            UncompressedNestLimit = 12,\n            UncompressedOversizeLimit = 10,\n        },\n        RpcOverHttp = \"disable\",\n        Smtp = new Fortios.Firewall.Inputs.ProfileprotocoloptionsSmtpArgs\n        {\n            InspectAll = \"disable\",\n            Options = \"fragmail splice\",\n            OversizeLimit = 10,\n            Ports = 25,\n            ScanBzip2 = \"enable\",\n            ServerBusy = \"disable\",\n            Status = \"enable\",\n            UncompressedNestLimit = 12,\n            UncompressedOversizeLimit = 10,\n        },\n        SwitchingProtocolsLog = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewProfileprotocoloptions(ctx, \"trname\", &firewall.ProfileprotocoloptionsArgs{\n\t\t\tDns: &firewall.ProfileprotocoloptionsDnsArgs{\n\t\t\t\tPorts:  pulumi.Int(53),\n\t\t\t\tStatus: pulumi.String(\"enable\"),\n\t\t\t},\n\t\t\tFtp: &firewall.ProfileprotocoloptionsFtpArgs{\n\t\t\t\tComfortAmount:             pulumi.Int(1),\n\t\t\t\tComfortInterval:           pulumi.Int(10),\n\t\t\t\tInspectAll:                pulumi.String(\"disable\"),\n\t\t\t\tOptions:                   pulumi.String(\"splice\"),\n\t\t\t\tOversizeLimit:             pulumi.Int(10),\n\t\t\t\tPorts:                     pulumi.Int(21),\n\t\t\t\tScanBzip2:                 pulumi.String(\"enable\"),\n\t\t\t\tStatus:                    pulumi.String(\"enable\"),\n\t\t\t\tUncompressedNestLimit:     pulumi.Int(12),\n\t\t\t\tUncompressedOversizeLimit: pulumi.Int(10),\n\t\t\t},\n\t\t\tHttp: &firewall.ProfileprotocoloptionsHttpArgs{\n\t\t\t\tBlockPageStatusCode:       pulumi.Int(403),\n\t\t\t\tComfortAmount:             pulumi.Int(1),\n\t\t\t\tComfortInterval:           pulumi.Int(10),\n\t\t\t\tFortinetBar:               pulumi.String(\"disable\"),\n\t\t\t\tFortinetBarPort:           pulumi.Int(8011),\n\t\t\t\tHttpPolicy:                pulumi.String(\"disable\"),\n\t\t\t\tInspectAll:                pulumi.String(\"disable\"),\n\t\t\t\tOversizeLimit:             pulumi.Int(10),\n\t\t\t\tPorts:                     pulumi.Int(80),\n\t\t\t\tRangeBlock:                pulumi.String(\"disable\"),\n\t\t\t\tRetryCount:                pulumi.Int(0),\n\t\t\t\tScanBzip2:                 pulumi.String(\"enable\"),\n\t\t\t\tStatus:                    pulumi.String(\"enable\"),\n\t\t\t\tStreamingContentBypass:    pulumi.String(\"enable\"),\n\t\t\t\tStripXForwardedFor:        pulumi.String(\"disable\"),\n\t\t\t\tSwitchingProtocols:        pulumi.String(\"bypass\"),\n\t\t\t\tUncompressedNestLimit:     pulumi.Int(12),\n\t\t\t\tUncompressedOversizeLimit: pulumi.Int(10),\n\t\t\t},\n\t\t\tImap: &firewall.ProfileprotocoloptionsImapArgs{\n\t\t\t\tInspectAll:                pulumi.String(\"disable\"),\n\t\t\t\tOptions:                   pulumi.String(\"fragmail\"),\n\t\t\t\tOversizeLimit:             pulumi.Int(10),\n\t\t\t\tPorts:                     pulumi.Int(143),\n\t\t\t\tScanBzip2:                 pulumi.String(\"enable\"),\n\t\t\t\tStatus:                    pulumi.String(\"enable\"),\n\t\t\t\tUncompressedNestLimit:     pulumi.Int(12),\n\t\t\t\tUncompressedOversizeLimit: pulumi.Int(10),\n\t\t\t},\n\t\t\tMailSignature: &firewall.ProfileprotocoloptionsMailSignatureArgs{\n\t\t\t\tStatus: pulumi.String(\"disable\"),\n\t\t\t},\n\t\t\tMapi: &firewall.ProfileprotocoloptionsMapiArgs{\n\t\t\t\tOptions:                   pulumi.String(\"fragmail\"),\n\t\t\t\tOversizeLimit:             pulumi.Int(10),\n\t\t\t\tPorts:                     pulumi.Int(135),\n\t\t\t\tScanBzip2:                 pulumi.String(\"enable\"),\n\t\t\t\tStatus:                    pulumi.String(\"enable\"),\n\t\t\t\tUncompressedNestLimit:     pulumi.Int(12),\n\t\t\t\tUncompressedOversizeLimit: pulumi.Int(10),\n\t\t\t},\n\t\t\tNntp: &firewall.ProfileprotocoloptionsNntpArgs{\n\t\t\t\tInspectAll:                pulumi.String(\"disable\"),\n\t\t\t\tOptions:                   pulumi.String(\"splice\"),\n\t\t\t\tOversizeLimit:             pulumi.Int(10),\n\t\t\t\tPorts:                     pulumi.Int(119),\n\t\t\t\tScanBzip2:                 pulumi.String(\"enable\"),\n\t\t\t\tStatus:                    pulumi.String(\"enable\"),\n\t\t\t\tUncompressedNestLimit:     pulumi.Int(12),\n\t\t\t\tUncompressedOversizeLimit: pulumi.Int(10),\n\t\t\t},\n\t\t\tOversizeLog: pulumi.String(\"disable\"),\n\t\t\tPop3: &firewall.ProfileprotocoloptionsPop3Args{\n\t\t\t\tInspectAll:                pulumi.String(\"disable\"),\n\t\t\t\tOptions:                   pulumi.String(\"fragmail\"),\n\t\t\t\tOversizeLimit:             pulumi.Int(10),\n\t\t\t\tPorts:                     pulumi.Int(110),\n\t\t\t\tScanBzip2:                 pulumi.String(\"enable\"),\n\t\t\t\tStatus:                    pulumi.String(\"enable\"),\n\t\t\t\tUncompressedNestLimit:     pulumi.Int(12),\n\t\t\t\tUncompressedOversizeLimit: pulumi.Int(10),\n\t\t\t},\n\t\t\tRpcOverHttp: pulumi.String(\"disable\"),\n\t\t\tSmtp: &firewall.ProfileprotocoloptionsSmtpArgs{\n\t\t\t\tInspectAll:                pulumi.String(\"disable\"),\n\t\t\t\tOptions:                   pulumi.String(\"fragmail splice\"),\n\t\t\t\tOversizeLimit:             pulumi.Int(10),\n\t\t\t\tPorts:                     pulumi.Int(25),\n\t\t\t\tScanBzip2:                 pulumi.String(\"enable\"),\n\t\t\t\tServerBusy:                pulumi.String(\"disable\"),\n\t\t\t\tStatus:                    pulumi.String(\"enable\"),\n\t\t\t\tUncompressedNestLimit:     pulumi.Int(12),\n\t\t\t\tUncompressedOversizeLimit: pulumi.Int(10),\n\t\t\t},\n\t\t\tSwitchingProtocolsLog: pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Profileprotocoloptions;\nimport com.pulumi.fortios.firewall.ProfileprotocoloptionsArgs;\nimport com.pulumi.fortios.firewall.inputs.ProfileprotocoloptionsDnsArgs;\nimport com.pulumi.fortios.firewall.inputs.ProfileprotocoloptionsFtpArgs;\nimport com.pulumi.fortios.firewall.inputs.ProfileprotocoloptionsHttpArgs;\nimport com.pulumi.fortios.firewall.inputs.ProfileprotocoloptionsImapArgs;\nimport com.pulumi.fortios.firewall.inputs.ProfileprotocoloptionsMailSignatureArgs;\nimport com.pulumi.fortios.firewall.inputs.ProfileprotocoloptionsMapiArgs;\nimport com.pulumi.fortios.firewall.inputs.ProfileprotocoloptionsNntpArgs;\nimport com.pulumi.fortios.firewall.inputs.ProfileprotocoloptionsPop3Args;\nimport com.pulumi.fortios.firewall.inputs.ProfileprotocoloptionsSmtpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Profileprotocoloptions(\"trname\", ProfileprotocoloptionsArgs.builder()\n            .dns(ProfileprotocoloptionsDnsArgs.builder()\n                .ports(53)\n                .status(\"enable\")\n                .build())\n            .ftp(ProfileprotocoloptionsFtpArgs.builder()\n                .comfortAmount(1)\n                .comfortInterval(10)\n                .inspectAll(\"disable\")\n                .options(\"splice\")\n                .oversizeLimit(10)\n                .ports(21)\n                .scanBzip2(\"enable\")\n                .status(\"enable\")\n                .uncompressedNestLimit(12)\n                .uncompressedOversizeLimit(10)\n                .build())\n            .http(ProfileprotocoloptionsHttpArgs.builder()\n                .blockPageStatusCode(403)\n                .comfortAmount(1)\n                .comfortInterval(10)\n                .fortinetBar(\"disable\")\n                .fortinetBarPort(8011)\n                .httpPolicy(\"disable\")\n                .inspectAll(\"disable\")\n                .oversizeLimit(10)\n                .ports(80)\n                .rangeBlock(\"disable\")\n                .retryCount(0)\n                .scanBzip2(\"enable\")\n                .status(\"enable\")\n                .streamingContentBypass(\"enable\")\n                .stripXForwardedFor(\"disable\")\n                .switchingProtocols(\"bypass\")\n                .uncompressedNestLimit(12)\n                .uncompressedOversizeLimit(10)\n                .build())\n            .imap(ProfileprotocoloptionsImapArgs.builder()\n                .inspectAll(\"disable\")\n                .options(\"fragmail\")\n                .oversizeLimit(10)\n                .ports(143)\n                .scanBzip2(\"enable\")\n                .status(\"enable\")\n                .uncompressedNestLimit(12)\n                .uncompressedOversizeLimit(10)\n                .build())\n            .mailSignature(ProfileprotocoloptionsMailSignatureArgs.builder()\n                .status(\"disable\")\n                .build())\n            .mapi(ProfileprotocoloptionsMapiArgs.builder()\n                .options(\"fragmail\")\n                .oversizeLimit(10)\n                .ports(135)\n                .scanBzip2(\"enable\")\n                .status(\"enable\")\n                .uncompressedNestLimit(12)\n                .uncompressedOversizeLimit(10)\n                .build())\n            .nntp(ProfileprotocoloptionsNntpArgs.builder()\n                .inspectAll(\"disable\")\n                .options(\"splice\")\n                .oversizeLimit(10)\n                .ports(119)\n                .scanBzip2(\"enable\")\n                .status(\"enable\")\n                .uncompressedNestLimit(12)\n                .uncompressedOversizeLimit(10)\n                .build())\n            .oversizeLog(\"disable\")\n            .pop3(ProfileprotocoloptionsPop3Args.builder()\n                .inspectAll(\"disable\")\n                .options(\"fragmail\")\n                .oversizeLimit(10)\n                .ports(110)\n                .scanBzip2(\"enable\")\n                .status(\"enable\")\n                .uncompressedNestLimit(12)\n                .uncompressedOversizeLimit(10)\n                .build())\n            .rpcOverHttp(\"disable\")\n            .smtp(ProfileprotocoloptionsSmtpArgs.builder()\n                .inspectAll(\"disable\")\n                .options(\"fragmail splice\")\n                .oversizeLimit(10)\n                .ports(25)\n                .scanBzip2(\"enable\")\n                .serverBusy(\"disable\")\n                .status(\"enable\")\n                .uncompressedNestLimit(12)\n                .uncompressedOversizeLimit(10)\n                .build())\n            .switchingProtocolsLog(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Profileprotocoloptions\n    properties:\n      dns:\n        ports: 53\n        status: enable\n      ftp:\n        comfortAmount: 1\n        comfortInterval: 10\n        inspectAll: disable\n        options: splice\n        oversizeLimit: 10\n        ports: 21\n        scanBzip2: enable\n        status: enable\n        uncompressedNestLimit: 12\n        uncompressedOversizeLimit: 10\n      http:\n        blockPageStatusCode: 403\n        comfortAmount: 1\n        comfortInterval: 10\n        fortinetBar: disable\n        fortinetBarPort: 8011\n        httpPolicy: disable\n        inspectAll: disable\n        oversizeLimit: 10\n        ports: 80\n        rangeBlock: disable\n        retryCount: 0\n        scanBzip2: enable\n        status: enable\n        streamingContentBypass: enable\n        stripXForwardedFor: disable\n        switchingProtocols: bypass\n        uncompressedNestLimit: 12\n        uncompressedOversizeLimit: 10\n      imap:\n        inspectAll: disable\n        options: fragmail\n        oversizeLimit: 10\n        ports: 143\n        scanBzip2: enable\n        status: enable\n        uncompressedNestLimit: 12\n        uncompressedOversizeLimit: 10\n      mailSignature:\n        status: disable\n      mapi:\n        options: fragmail\n        oversizeLimit: 10\n        ports: 135\n        scanBzip2: enable\n        status: enable\n        uncompressedNestLimit: 12\n        uncompressedOversizeLimit: 10\n      nntp:\n        inspectAll: disable\n        options: splice\n        oversizeLimit: 10\n        ports: 119\n        scanBzip2: enable\n        status: enable\n        uncompressedNestLimit: 12\n        uncompressedOversizeLimit: 10\n      oversizeLog: disable\n      pop3:\n        inspectAll: disable\n        options: fragmail\n        oversizeLimit: 10\n        ports: 110\n        scanBzip2: enable\n        status: enable\n        uncompressedNestLimit: 12\n        uncompressedOversizeLimit: 10\n      rpcOverHttp: disable\n      smtp:\n        inspectAll: disable\n        options: fragmail splice\n        oversizeLimit: 10\n        ports: 25\n        scanBzip2: enable\n        serverBusy: disable\n        status: enable\n        uncompressedNestLimit: 12\n        uncompressedOversizeLimit: 10\n      switchingProtocolsLog: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall ProfileProtocolOptions can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/profileprotocoloptions:Profileprotocoloptions labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/profileprotocoloptions:Profileprotocoloptions labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cifs": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsCifs:ProfileprotocoloptionsCifs",
          "description": "Configure CIFS protocol options. The structure of `cifs` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dns": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsDns:ProfileprotocoloptionsDns",
          "description": "Configure DNS protocol options. The structure of `dns` block is documented below.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "ftp": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsFtp:ProfileprotocoloptionsFtp",
          "description": "Configure FTP protocol options. The structure of `ftp` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "http": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsHttp:ProfileprotocoloptionsHttp",
          "description": "Configure HTTP protocol options. The structure of `http` block is documented below.\n"
        },
        "imap": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsImap:ProfileprotocoloptionsImap",
          "description": "Configure IMAP protocol options. The structure of `imap` block is documented below.\n"
        },
        "mailSignature": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsMailSignature:ProfileprotocoloptionsMailSignature",
          "description": "Configure Mail signature. The structure of `mail_signature` block is documented below.\n"
        },
        "mapi": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsMapi:ProfileprotocoloptionsMapi",
          "description": "Configure MAPI protocol options. The structure of `mapi` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "nntp": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsNntp:ProfileprotocoloptionsNntp",
          "description": "Configure NNTP protocol options. The structure of `nntp` block is documented below.\n"
        },
        "oversizeLog": {
          "type": "string",
          "description": "Enable/disable logging for antivirus oversize file blocking. Valid values: `disable`, `enable`.\n"
        },
        "pop3": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsPop3:ProfileprotocoloptionsPop3",
          "description": "Configure POP3 protocol options. The structure of `pop3` block is documented below.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Name of the replacement message group to be used\n"
        },
        "rpcOverHttp": {
          "type": "string",
          "description": "Enable/disable inspection of RPC over HTTP. Valid values: `enable`, `disable`.\n"
        },
        "smtp": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsSmtp:ProfileprotocoloptionsSmtp",
          "description": "Configure SMTP protocol options. The structure of `smtp` block is documented below.\n"
        },
        "ssh": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsSsh:ProfileprotocoloptionsSsh",
          "description": "Configure SFTP and SCP protocol options. The structure of `ssh` block is documented below.\n"
        },
        "switchingProtocolsLog": {
          "type": "string",
          "description": "Enable/disable logging for HTTP/HTTPS switching protocols. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "cifs",
        "dns",
        "featureSet",
        "ftp",
        "http",
        "imap",
        "mailSignature",
        "mapi",
        "name",
        "nntp",
        "oversizeLog",
        "pop3",
        "replacemsgGroup",
        "rpcOverHttp",
        "smtp",
        "ssh",
        "switchingProtocolsLog",
        "vdomparam"
      ],
      "inputProperties": {
        "cifs": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsCifs:ProfileprotocoloptionsCifs",
          "description": "Configure CIFS protocol options. The structure of `cifs` block is documented below.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dns": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsDns:ProfileprotocoloptionsDns",
          "description": "Configure DNS protocol options. The structure of `dns` block is documented below.\n"
        },
        "featureSet": {
          "type": "string",
          "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
        },
        "ftp": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsFtp:ProfileprotocoloptionsFtp",
          "description": "Configure FTP protocol options. The structure of `ftp` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "http": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsHttp:ProfileprotocoloptionsHttp",
          "description": "Configure HTTP protocol options. The structure of `http` block is documented below.\n"
        },
        "imap": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsImap:ProfileprotocoloptionsImap",
          "description": "Configure IMAP protocol options. The structure of `imap` block is documented below.\n"
        },
        "mailSignature": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsMailSignature:ProfileprotocoloptionsMailSignature",
          "description": "Configure Mail signature. The structure of `mail_signature` block is documented below.\n"
        },
        "mapi": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsMapi:ProfileprotocoloptionsMapi",
          "description": "Configure MAPI protocol options. The structure of `mapi` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "nntp": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsNntp:ProfileprotocoloptionsNntp",
          "description": "Configure NNTP protocol options. The structure of `nntp` block is documented below.\n"
        },
        "oversizeLog": {
          "type": "string",
          "description": "Enable/disable logging for antivirus oversize file blocking. Valid values: `disable`, `enable`.\n"
        },
        "pop3": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsPop3:ProfileprotocoloptionsPop3",
          "description": "Configure POP3 protocol options. The structure of `pop3` block is documented below.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Name of the replacement message group to be used\n"
        },
        "rpcOverHttp": {
          "type": "string",
          "description": "Enable/disable inspection of RPC over HTTP. Valid values: `enable`, `disable`.\n"
        },
        "smtp": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsSmtp:ProfileprotocoloptionsSmtp",
          "description": "Configure SMTP protocol options. The structure of `smtp` block is documented below.\n"
        },
        "ssh": {
          "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsSsh:ProfileprotocoloptionsSsh",
          "description": "Configure SFTP and SCP protocol options. The structure of `ssh` block is documented below.\n"
        },
        "switchingProtocolsLog": {
          "type": "string",
          "description": "Enable/disable logging for HTTP/HTTPS switching protocols. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profileprotocoloptions resources.\n",
        "properties": {
          "cifs": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsCifs:ProfileprotocoloptionsCifs",
            "description": "Configure CIFS protocol options. The structure of `cifs` block is documented below.\n"
          },
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dns": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsDns:ProfileprotocoloptionsDns",
            "description": "Configure DNS protocol options. The structure of `dns` block is documented below.\n"
          },
          "featureSet": {
            "type": "string",
            "description": "Flow/proxy feature set. Valid values: `flow`, `proxy`.\n"
          },
          "ftp": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsFtp:ProfileprotocoloptionsFtp",
            "description": "Configure FTP protocol options. The structure of `ftp` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "http": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsHttp:ProfileprotocoloptionsHttp",
            "description": "Configure HTTP protocol options. The structure of `http` block is documented below.\n"
          },
          "imap": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsImap:ProfileprotocoloptionsImap",
            "description": "Configure IMAP protocol options. The structure of `imap` block is documented below.\n"
          },
          "mailSignature": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsMailSignature:ProfileprotocoloptionsMailSignature",
            "description": "Configure Mail signature. The structure of `mail_signature` block is documented below.\n"
          },
          "mapi": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsMapi:ProfileprotocoloptionsMapi",
            "description": "Configure MAPI protocol options. The structure of `mapi` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n"
          },
          "nntp": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsNntp:ProfileprotocoloptionsNntp",
            "description": "Configure NNTP protocol options. The structure of `nntp` block is documented below.\n"
          },
          "oversizeLog": {
            "type": "string",
            "description": "Enable/disable logging for antivirus oversize file blocking. Valid values: `disable`, `enable`.\n"
          },
          "pop3": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsPop3:ProfileprotocoloptionsPop3",
            "description": "Configure POP3 protocol options. The structure of `pop3` block is documented below.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Name of the replacement message group to be used\n"
          },
          "rpcOverHttp": {
            "type": "string",
            "description": "Enable/disable inspection of RPC over HTTP. Valid values: `enable`, `disable`.\n"
          },
          "smtp": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsSmtp:ProfileprotocoloptionsSmtp",
            "description": "Configure SMTP protocol options. The structure of `smtp` block is documented below.\n"
          },
          "ssh": {
            "$ref": "#/types/fortios:firewall%2FProfileprotocoloptionsSsh:ProfileprotocoloptionsSsh",
            "description": "Configure SFTP and SCP protocol options. The structure of `ssh` block is documented below.\n"
          },
          "switchingProtocolsLog": {
            "type": "string",
            "description": "Enable/disable logging for HTTP/HTTPS switching protocols. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/proxyaddress:Proxyaddress": {
      "description": "Web proxy address configuration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Proxyaddress(\"trname\", {\n    caseSensitivity: \"disable\",\n    color: 2,\n    referrer: \"enable\",\n    type: \"host-regex\",\n    visibility: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Proxyaddress(\"trname\",\n    case_sensitivity=\"disable\",\n    color=2,\n    referrer=\"enable\",\n    type=\"host-regex\",\n    visibility=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Proxyaddress(\"trname\", new()\n    {\n        CaseSensitivity = \"disable\",\n        Color = 2,\n        Referrer = \"enable\",\n        Type = \"host-regex\",\n        Visibility = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewProxyaddress(ctx, \"trname\", &firewall.ProxyaddressArgs{\n\t\t\tCaseSensitivity: pulumi.String(\"disable\"),\n\t\t\tColor:           pulumi.Int(2),\n\t\t\tReferrer:        pulumi.String(\"enable\"),\n\t\t\tType:            pulumi.String(\"host-regex\"),\n\t\t\tVisibility:      pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Proxyaddress;\nimport com.pulumi.fortios.firewall.ProxyaddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Proxyaddress(\"trname\", ProxyaddressArgs.builder()\n            .caseSensitivity(\"disable\")\n            .color(2)\n            .referrer(\"enable\")\n            .type(\"host-regex\")\n            .visibility(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Proxyaddress\n    properties:\n      caseSensitivity: disable\n      color: 2\n      referrer: enable\n      type: host-regex\n      visibility: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall ProxyAddress can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/proxyaddress:Proxyaddress labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/proxyaddress:Proxyaddress labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddressApplication:ProxyaddressApplication"
          },
          "description": "SaaS application. The structure of `application` block is documented below.\n"
        },
        "caseSensitivity": {
          "type": "string",
          "description": "Enable to make the pattern case sensitive. Valid values: `disable`, `enable`.\n"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddressCategory:ProxyaddressCategory"
          },
          "description": "FortiGuard category ID. The structure of `category` block is documented below.\n"
        },
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "header": {
          "type": "string",
          "description": "HTTP header name as a regular expression.\n"
        },
        "headerGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddressHeaderGroup:ProxyaddressHeaderGroup"
          },
          "description": "HTTP header group. The structure of `header_group` block is documented below.\n"
        },
        "headerName": {
          "type": "string",
          "description": "Name of HTTP header.\n"
        },
        "host": {
          "type": "string",
          "description": "Address object for the host.\n"
        },
        "hostRegex": {
          "type": "string",
          "description": "Host name as a regular expression.\n"
        },
        "method": {
          "type": "string",
          "description": "HTTP request methods to be used. Valid values: `get`, `post`, `put`, `head`, `connect`, `trace`, `options`, `delete`.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "path": {
          "type": "string",
          "description": "URL path as a regular expression.\n"
        },
        "query": {
          "type": "string",
          "description": "Match the query part of the URL as a regular expression.\n"
        },
        "referrer": {
          "type": "string",
          "description": "Enable/disable use of referrer field in the HTTP header to match the address. Valid values: `enable`, `disable`.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddressTagging:ProxyaddressTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Proxy address type.\n"
        },
        "ua": {
          "type": "string",
          "description": "Names of browsers to be used as user agent.\n"
        },
        "uaMaxVer": {
          "type": "string",
          "description": "Maximum version of the user agent specified in dotted notation. For example, use 120 with the ua field set to \"chrome\" to require Google Chrome's maximum version must be 120.\n"
        },
        "uaMinVer": {
          "type": "string",
          "description": "Minimum version of the user agent specified in dotted notation. For example, use 90.0.1 with the ua field set to \"chrome\" to require Google Chrome's minimum version must be 90.0.1.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable visibility of the object in the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "caseSensitivity",
        "color",
        "header",
        "headerName",
        "host",
        "hostRegex",
        "method",
        "name",
        "path",
        "query",
        "referrer",
        "type",
        "ua",
        "uaMaxVer",
        "uaMinVer",
        "uuid",
        "vdomparam",
        "visibility"
      ],
      "inputProperties": {
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddressApplication:ProxyaddressApplication"
          },
          "description": "SaaS application. The structure of `application` block is documented below.\n"
        },
        "caseSensitivity": {
          "type": "string",
          "description": "Enable to make the pattern case sensitive. Valid values: `disable`, `enable`.\n"
        },
        "categories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddressCategory:ProxyaddressCategory"
          },
          "description": "FortiGuard category ID. The structure of `category` block is documented below.\n"
        },
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "header": {
          "type": "string",
          "description": "HTTP header name as a regular expression.\n"
        },
        "headerGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddressHeaderGroup:ProxyaddressHeaderGroup"
          },
          "description": "HTTP header group. The structure of `header_group` block is documented below.\n"
        },
        "headerName": {
          "type": "string",
          "description": "Name of HTTP header.\n"
        },
        "host": {
          "type": "string",
          "description": "Address object for the host.\n"
        },
        "hostRegex": {
          "type": "string",
          "description": "Host name as a regular expression.\n"
        },
        "method": {
          "type": "string",
          "description": "HTTP request methods to be used. Valid values: `get`, `post`, `put`, `head`, `connect`, `trace`, `options`, `delete`.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "path": {
          "type": "string",
          "description": "URL path as a regular expression.\n"
        },
        "query": {
          "type": "string",
          "description": "Match the query part of the URL as a regular expression.\n"
        },
        "referrer": {
          "type": "string",
          "description": "Enable/disable use of referrer field in the HTTP header to match the address. Valid values: `enable`, `disable`.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddressTagging:ProxyaddressTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Proxy address type.\n"
        },
        "ua": {
          "type": "string",
          "description": "Names of browsers to be used as user agent.\n"
        },
        "uaMaxVer": {
          "type": "string",
          "description": "Maximum version of the user agent specified in dotted notation. For example, use 120 with the ua field set to \"chrome\" to require Google Chrome's maximum version must be 120.\n"
        },
        "uaMinVer": {
          "type": "string",
          "description": "Minimum version of the user agent specified in dotted notation. For example, use 90.0.1 with the ua field set to \"chrome\" to require Google Chrome's minimum version must be 90.0.1.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable visibility of the object in the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Proxyaddress resources.\n",
        "properties": {
          "applications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxyaddressApplication:ProxyaddressApplication"
            },
            "description": "SaaS application. The structure of `application` block is documented below.\n"
          },
          "caseSensitivity": {
            "type": "string",
            "description": "Enable to make the pattern case sensitive. Valid values: `disable`, `enable`.\n"
          },
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxyaddressCategory:ProxyaddressCategory"
            },
            "description": "FortiGuard category ID. The structure of `category` block is documented below.\n"
          },
          "color": {
            "type": "integer",
            "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n"
          },
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "header": {
            "type": "string",
            "description": "HTTP header name as a regular expression.\n"
          },
          "headerGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxyaddressHeaderGroup:ProxyaddressHeaderGroup"
            },
            "description": "HTTP header group. The structure of `header_group` block is documented below.\n"
          },
          "headerName": {
            "type": "string",
            "description": "Name of HTTP header.\n"
          },
          "host": {
            "type": "string",
            "description": "Address object for the host.\n"
          },
          "hostRegex": {
            "type": "string",
            "description": "Host name as a regular expression.\n"
          },
          "method": {
            "type": "string",
            "description": "HTTP request methods to be used. Valid values: `get`, `post`, `put`, `head`, `connect`, `trace`, `options`, `delete`.\n"
          },
          "name": {
            "type": "string",
            "description": "Address name.\n"
          },
          "path": {
            "type": "string",
            "description": "URL path as a regular expression.\n"
          },
          "query": {
            "type": "string",
            "description": "Match the query part of the URL as a regular expression.\n"
          },
          "referrer": {
            "type": "string",
            "description": "Enable/disable use of referrer field in the HTTP header to match the address. Valid values: `enable`, `disable`.\n"
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxyaddressTagging:ProxyaddressTagging"
            },
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "Proxy address type.\n"
          },
          "ua": {
            "type": "string",
            "description": "Names of browsers to be used as user agent.\n"
          },
          "uaMaxVer": {
            "type": "string",
            "description": "Maximum version of the user agent specified in dotted notation. For example, use 120 with the ua field set to \"chrome\" to require Google Chrome's maximum version must be 120.\n"
          },
          "uaMinVer": {
            "type": "string",
            "description": "Minimum version of the user agent specified in dotted notation. For example, use 90.0.1 with the ua field set to \"chrome\" to require Google Chrome's minimum version must be 90.0.1.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable visibility of the object in the GUI. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/proxyaddrgrp:Proxyaddrgrp": {
      "description": "Web proxy address group configuration.\n\n## Import\n\nFirewall ProxyAddrgrp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/proxyaddrgrp:Proxyaddrgrp labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/proxyaddrgrp:Proxyaddrgrp labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddrgrpMember:ProxyaddrgrpMember"
          },
          "description": "Members of address group. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address group name.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddrgrpTagging:ProxyaddrgrpTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Source or destination address group type. Valid values: `src`, `dst`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable visibility of the object in the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "members",
        "name",
        "type",
        "uuid",
        "vdomparam",
        "visibility"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddrgrpMember:ProxyaddrgrpMember"
          },
          "description": "Members of address group. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address group name.\n"
        },
        "taggings": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxyaddrgrpTagging:ProxyaddrgrpTagging"
          },
          "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Source or destination address group type. Valid values: `src`, `dst`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable visibility of the object in the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Proxyaddrgrp resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Integer value to determine the color of the icon in the GUI (1 - 32, default = 0, which sets value to 1).\n"
          },
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxyaddrgrpMember:ProxyaddrgrpMember"
            },
            "description": "Members of address group. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Address group name.\n"
          },
          "taggings": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxyaddrgrpTagging:ProxyaddrgrpTagging"
            },
            "description": "Config object tagging. The structure of `tagging` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "Source or destination address group type. Valid values: `src`, `dst`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable visibility of the object in the GUI. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/proxypolicy:Proxypolicy": {
      "description": "Configure proxy policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Proxypolicy(\"trname\", {\n    action: \"deny\",\n    disclaimer: \"disable\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    dstaddrNegate: \"disable\",\n    dstintfs: [{\n        name: \"port4\",\n    }],\n    httpTunnelAuth: \"disable\",\n    internetService: \"disable\",\n    internetServiceNegate: \"disable\",\n    logtraffic: \"disable\",\n    logtrafficStart: \"disable\",\n    policyid: 1,\n    profileProtocolOptions: \"default\",\n    profileType: \"single\",\n    proxy: \"transparent-web\",\n    scanBotnetConnections: \"disable\",\n    schedule: \"always\",\n    services: [{\n        name: \"webproxy\",\n    }],\n    serviceNegate: \"disable\",\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    srcaddrNegate: \"disable\",\n    srcintfs: [{\n        name: \"port3\",\n    }],\n    status: \"enable\",\n    transparent: \"disable\",\n    utmStatus: \"disable\",\n    webcache: \"disable\",\n    webcacheHttps: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Proxypolicy(\"trname\",\n    action=\"deny\",\n    disclaimer=\"disable\",\n    dstaddrs=[fortios.firewall.ProxypolicyDstaddrArgs(\n        name=\"all\",\n    )],\n    dstaddr_negate=\"disable\",\n    dstintfs=[fortios.firewall.ProxypolicyDstintfArgs(\n        name=\"port4\",\n    )],\n    http_tunnel_auth=\"disable\",\n    internet_service=\"disable\",\n    internet_service_negate=\"disable\",\n    logtraffic=\"disable\",\n    logtraffic_start=\"disable\",\n    policyid=1,\n    profile_protocol_options=\"default\",\n    profile_type=\"single\",\n    proxy=\"transparent-web\",\n    scan_botnet_connections=\"disable\",\n    schedule=\"always\",\n    services=[fortios.firewall.ProxypolicyServiceArgs(\n        name=\"webproxy\",\n    )],\n    service_negate=\"disable\",\n    srcaddrs=[fortios.firewall.ProxypolicySrcaddrArgs(\n        name=\"all\",\n    )],\n    srcaddr_negate=\"disable\",\n    srcintfs=[fortios.firewall.ProxypolicySrcintfArgs(\n        name=\"port3\",\n    )],\n    status=\"enable\",\n    transparent=\"disable\",\n    utm_status=\"disable\",\n    webcache=\"disable\",\n    webcache_https=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Proxypolicy(\"trname\", new()\n    {\n        Action = \"deny\",\n        Disclaimer = \"disable\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.ProxypolicyDstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        DstaddrNegate = \"disable\",\n        Dstintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.ProxypolicyDstintfArgs\n            {\n                Name = \"port4\",\n            },\n        },\n        HttpTunnelAuth = \"disable\",\n        InternetService = \"disable\",\n        InternetServiceNegate = \"disable\",\n        Logtraffic = \"disable\",\n        LogtrafficStart = \"disable\",\n        Policyid = 1,\n        ProfileProtocolOptions = \"default\",\n        ProfileType = \"single\",\n        Proxy = \"transparent-web\",\n        ScanBotnetConnections = \"disable\",\n        Schedule = \"always\",\n        Services = new[]\n        {\n            new Fortios.Firewall.Inputs.ProxypolicyServiceArgs\n            {\n                Name = \"webproxy\",\n            },\n        },\n        ServiceNegate = \"disable\",\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.ProxypolicySrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        SrcaddrNegate = \"disable\",\n        Srcintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.ProxypolicySrcintfArgs\n            {\n                Name = \"port3\",\n            },\n        },\n        Status = \"enable\",\n        Transparent = \"disable\",\n        UtmStatus = \"disable\",\n        Webcache = \"disable\",\n        WebcacheHttps = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewProxypolicy(ctx, \"trname\", &firewall.ProxypolicyArgs{\n\t\t\tAction:     pulumi.String(\"deny\"),\n\t\t\tDisclaimer: pulumi.String(\"disable\"),\n\t\t\tDstaddrs: firewall.ProxypolicyDstaddrArray{\n\t\t\t\t&firewall.ProxypolicyDstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDstaddrNegate: pulumi.String(\"disable\"),\n\t\t\tDstintfs: firewall.ProxypolicyDstintfArray{\n\t\t\t\t&firewall.ProxypolicyDstintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHttpTunnelAuth:         pulumi.String(\"disable\"),\n\t\t\tInternetService:        pulumi.String(\"disable\"),\n\t\t\tInternetServiceNegate:  pulumi.String(\"disable\"),\n\t\t\tLogtraffic:             pulumi.String(\"disable\"),\n\t\t\tLogtrafficStart:        pulumi.String(\"disable\"),\n\t\t\tPolicyid:               pulumi.Int(1),\n\t\t\tProfileProtocolOptions: pulumi.String(\"default\"),\n\t\t\tProfileType:            pulumi.String(\"single\"),\n\t\t\tProxy:                  pulumi.String(\"transparent-web\"),\n\t\t\tScanBotnetConnections:  pulumi.String(\"disable\"),\n\t\t\tSchedule:               pulumi.String(\"always\"),\n\t\t\tServices: firewall.ProxypolicyServiceArray{\n\t\t\t\t&firewall.ProxypolicyServiceArgs{\n\t\t\t\t\tName: pulumi.String(\"webproxy\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tServiceNegate: pulumi.String(\"disable\"),\n\t\t\tSrcaddrs: firewall.ProxypolicySrcaddrArray{\n\t\t\t\t&firewall.ProxypolicySrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcaddrNegate: pulumi.String(\"disable\"),\n\t\t\tSrcintfs: firewall.ProxypolicySrcintfArray{\n\t\t\t\t&firewall.ProxypolicySrcintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus:        pulumi.String(\"enable\"),\n\t\t\tTransparent:   pulumi.String(\"disable\"),\n\t\t\tUtmStatus:     pulumi.String(\"disable\"),\n\t\t\tWebcache:      pulumi.String(\"disable\"),\n\t\t\tWebcacheHttps: pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Proxypolicy;\nimport com.pulumi.fortios.firewall.ProxypolicyArgs;\nimport com.pulumi.fortios.firewall.inputs.ProxypolicyDstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.ProxypolicyDstintfArgs;\nimport com.pulumi.fortios.firewall.inputs.ProxypolicyServiceArgs;\nimport com.pulumi.fortios.firewall.inputs.ProxypolicySrcaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.ProxypolicySrcintfArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Proxypolicy(\"trname\", ProxypolicyArgs.builder()\n            .action(\"deny\")\n            .disclaimer(\"disable\")\n            .dstaddrs(ProxypolicyDstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .dstaddrNegate(\"disable\")\n            .dstintfs(ProxypolicyDstintfArgs.builder()\n                .name(\"port4\")\n                .build())\n            .httpTunnelAuth(\"disable\")\n            .internetService(\"disable\")\n            .internetServiceNegate(\"disable\")\n            .logtraffic(\"disable\")\n            .logtrafficStart(\"disable\")\n            .policyid(1)\n            .profileProtocolOptions(\"default\")\n            .profileType(\"single\")\n            .proxy(\"transparent-web\")\n            .scanBotnetConnections(\"disable\")\n            .schedule(\"always\")\n            .services(ProxypolicyServiceArgs.builder()\n                .name(\"webproxy\")\n                .build())\n            .serviceNegate(\"disable\")\n            .srcaddrs(ProxypolicySrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .srcaddrNegate(\"disable\")\n            .srcintfs(ProxypolicySrcintfArgs.builder()\n                .name(\"port3\")\n                .build())\n            .status(\"enable\")\n            .transparent(\"disable\")\n            .utmStatus(\"disable\")\n            .webcache(\"disable\")\n            .webcacheHttps(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Proxypolicy\n    properties:\n      action: deny\n      disclaimer: disable\n      dstaddrs:\n        - name: all\n      dstaddrNegate: disable\n      dstintfs:\n        - name: port4\n      httpTunnelAuth: disable\n      internetService: disable\n      internetServiceNegate: disable\n      logtraffic: disable\n      logtrafficStart: disable\n      policyid: 1\n      profileProtocolOptions: default\n      profileType: single\n      proxy: transparent-web\n      scanBotnetConnections: disable\n      schedule: always\n      services:\n        - name: webproxy\n      serviceNegate: disable\n      srcaddrs:\n        - name: all\n      srcaddrNegate: disable\n      srcintfs:\n        - name: port3\n      status: enable\n      transparent: disable\n      utmStatus: disable\n      webcache: disable\n      webcacheHttps: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall ProxyPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/proxypolicy:Proxypolicy labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/proxypolicy:Proxypolicy labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accessProxies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyAccessProxy:ProxypolicyAccessProxy"
          },
          "description": "IPv4 access proxy. The structure of `access_proxy` block is documented below.\n"
        },
        "accessProxy6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyAccessProxy6:ProxypolicyAccessProxy6"
          },
          "description": "IPv6 access proxy. The structure of `access_proxy6` block is documented below.\n"
        },
        "action": {
          "type": "string",
          "description": "Accept or deny traffic matching the policy parameters. Valid values: `accept`, `deny`, `redirect`.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "blockNotification": {
          "type": "string",
          "description": "Enable/disable block notification. Valid values: `enable`, `disable`.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "Name of an existing CASB profile.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "decryptedTrafficMirror": {
          "type": "string",
          "description": "Decrypted traffic mirror.\n"
        },
        "detectHttpsInHttpRequest": {
          "type": "string",
          "description": "Enable/disable detection of HTTPS in HTTP request. Valid values: `enable`, `disable`.\n"
        },
        "deviceOwnership": {
          "type": "string",
          "description": "When enabled, the ownership enforcement will be done at policy level. Valid values: `enable`, `disable`.\n"
        },
        "diameterFilterProfile": {
          "type": "string",
          "description": "Name of an existing Diameter filter profile.\n"
        },
        "disclaimer": {
          "type": "string",
          "description": "Web proxy disclaimer setting: by domain, policy, or user. Valid values: `disable`, `domain`, `policy`, `user`.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "Name of an existing DLP profile.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyDstaddr6:ProxypolicyDstaddr6"
          },
          "description": "IPv6 destination address objects. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled, destination addresses match against any address EXCEPT the specified destination addresses. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyDstaddr:ProxypolicyDstaddr"
          },
          "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyDstintf:ProxypolicyDstintf"
          },
          "description": "Destination interface names. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "fileFilterProfile": {
          "type": "string",
          "description": "Name of an existing file-filter profile.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "globalLabel": {
          "type": "string",
          "description": "Global web-based manager visible label.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyGroup:ProxypolicyGroup"
          },
          "description": "Names of group objects. The structure of `groups` block is documented below.\n"
        },
        "httpTunnelAuth": {
          "type": "string",
          "description": "Enable/disable HTTP tunnel authentication. Valid values: `enable`, `disable`.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6": {
          "type": "string",
          "description": "Enable/disable use of Internet Services IPv6 for this policy. If enabled, destination IPv6 address and service are not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6CustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6CustomGroup:ProxypolicyInternetService6CustomGroup"
          },
          "description": "Custom Internet Service IPv6 group name. The structure of `internet_service6_custom_group` block is documented below.\n"
        },
        "internetService6Customs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6Custom:ProxypolicyInternetService6Custom"
          },
          "description": "Custom Internet Service IPv6 name. The structure of `internet_service6_custom` block is documented below.\n"
        },
        "internetService6Groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6Group:ProxypolicyInternetService6Group"
          },
          "description": "Internet Service IPv6 group name. The structure of `internet_service6_group` block is documented below.\n"
        },
        "internetService6Names": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6Name:ProxypolicyInternetService6Name"
          },
          "description": "Internet Service IPv6 name. The structure of `internet_service6_name` block is documented below.\n"
        },
        "internetService6Negate": {
          "type": "string",
          "description": "When enabled, Internet Services match against any internet service IPv6 EXCEPT the selected Internet Service IPv6. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceCustomGroup:ProxypolicyInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceCustom:ProxypolicyInternetServiceCustom"
          },
          "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceGroup:ProxypolicyInternetServiceGroup"
          },
          "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceId:ProxypolicyInternetServiceId"
          },
          "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceName:ProxypolicyInternetServiceName"
          },
          "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
        },
        "internetServiceNegate": {
          "type": "string",
          "description": "When enabled, Internet Services match against any internet service EXCEPT the selected Internet Service. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "ipsVoipFilter": {
          "type": "string",
          "description": "Name of an existing VoIP (ips) profile.\n"
        },
        "label": {
          "type": "string",
          "description": "VDOM-specific GUI visible label.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable/disable logging traffic through the policy. Valid values: `all`, `utm`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Enable/disable policy log traffic start. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "poolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyPoolname:ProxypolicyPoolname"
          },
          "description": "Name of IP pool object. The structure of `poolname` block is documented below.\n"
        },
        "profileGroup": {
          "type": "string",
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
        },
        "proxy": {
          "type": "string",
          "description": "Type of explicit proxy.\n"
        },
        "redirectUrl": {
          "type": "string",
          "description": "Redirect URL for further explicit web proxy processing.\n"
        },
        "replacemsgOverrideGroup": {
          "type": "string",
          "description": "Authentication replacement message override group.\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Enable/disable scanning of connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Name of schedule object.\n"
        },
        "sctpFilterProfile": {
          "type": "string",
          "description": "Name of an existing SCTP filter profile.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled, services match against any service EXCEPT the specified destination services. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyService:ProxypolicyService"
          },
          "description": "Name of service objects. The structure of `service` block is documented below.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing Spam filter profile.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicySrcaddr6:ProxypolicySrcaddr6"
          },
          "description": "IPv6 source address objects. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled, source addresses match against any address EXCEPT the specified source addresses. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicySrcaddr:ProxypolicySrcaddr"
          },
          "description": "Source address objects. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicySrcintf:ProxypolicySrcintf"
          },
          "description": "Source interface names. The structure of `srcintf` block is documented below.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sshPolicyRedirect": {
          "type": "string",
          "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of the policy. Valid values: `enable`, `disable`.\n"
        },
        "transparent": {
          "type": "string",
          "description": "Enable to use the IP address of the client to connect to the server. Valid values: `enable`, `disable`.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyUser:ProxypolicyUser"
          },
          "description": "Names of user objects. The structure of `users` block is documented below.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable the use of UTM profiles/sensors/lists. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "videofilterProfile": {
          "type": "string",
          "description": "Name of an existing VideoFilter profile.\n"
        },
        "virtualPatchProfile": {
          "type": "string",
          "description": "Name of an existing virtual-patch profile.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP profile.\n"
        },
        "wafProfile": {
          "type": "string",
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "webcache": {
          "type": "string",
          "description": "Enable/disable web caching. Valid values: `enable`, `disable`.\n"
        },
        "webcacheHttps": {
          "type": "string",
          "description": "Enable/disable web caching for HTTPS (Requires deep-inspection enabled in ssl-ssh-profile). Valid values: `disable`, `enable`.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        },
        "webproxyForwardServer": {
          "type": "string",
          "description": "Web proxy forward server name.\n"
        },
        "webproxyProfile": {
          "type": "string",
          "description": "Name of web proxy profile.\n"
        },
        "ztnaEmsTags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyZtnaEmsTag:ProxypolicyZtnaEmsTag"
          },
          "description": "ZTNA EMS Tag names. The structure of `ztna_ems_tag` block is documented below.\n"
        },
        "ztnaTagsMatchLogic": {
          "type": "string",
          "description": "ZTNA tag matching logic. Valid values: `or`, `and`.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "applicationList",
        "avProfile",
        "blockNotification",
        "casbProfile",
        "cifsProfile",
        "decryptedTrafficMirror",
        "detectHttpsInHttpRequest",
        "deviceOwnership",
        "diameterFilterProfile",
        "disclaimer",
        "dlpProfile",
        "dlpSensor",
        "dstaddrNegate",
        "dstintfs",
        "emailfilterProfile",
        "fileFilterProfile",
        "globalLabel",
        "httpTunnelAuth",
        "icapProfile",
        "internetService",
        "internetService6",
        "internetService6Negate",
        "internetServiceNegate",
        "ipsSensor",
        "ipsVoipFilter",
        "label",
        "logtraffic",
        "logtrafficStart",
        "name",
        "policyid",
        "profileGroup",
        "profileProtocolOptions",
        "profileType",
        "proxy",
        "replacemsgOverrideGroup",
        "scanBotnetConnections",
        "schedule",
        "sctpFilterProfile",
        "serviceNegate",
        "sessionTtl",
        "spamfilterProfile",
        "srcaddrNegate",
        "sshFilterProfile",
        "sshPolicyRedirect",
        "sslSshProfile",
        "status",
        "transparent",
        "utmStatus",
        "uuid",
        "vdomparam",
        "videofilterProfile",
        "virtualPatchProfile",
        "voipProfile",
        "wafProfile",
        "webcache",
        "webcacheHttps",
        "webfilterProfile",
        "webproxyForwardServer",
        "webproxyProfile",
        "ztnaTagsMatchLogic"
      ],
      "inputProperties": {
        "accessProxies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyAccessProxy:ProxypolicyAccessProxy"
          },
          "description": "IPv4 access proxy. The structure of `access_proxy` block is documented below.\n"
        },
        "accessProxy6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyAccessProxy6:ProxypolicyAccessProxy6"
          },
          "description": "IPv6 access proxy. The structure of `access_proxy6` block is documented below.\n"
        },
        "action": {
          "type": "string",
          "description": "Accept or deny traffic matching the policy parameters. Valid values: `accept`, `deny`, `redirect`.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "blockNotification": {
          "type": "string",
          "description": "Enable/disable block notification. Valid values: `enable`, `disable`.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "Name of an existing CASB profile.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "decryptedTrafficMirror": {
          "type": "string",
          "description": "Decrypted traffic mirror.\n"
        },
        "detectHttpsInHttpRequest": {
          "type": "string",
          "description": "Enable/disable detection of HTTPS in HTTP request. Valid values: `enable`, `disable`.\n"
        },
        "deviceOwnership": {
          "type": "string",
          "description": "When enabled, the ownership enforcement will be done at policy level. Valid values: `enable`, `disable`.\n"
        },
        "diameterFilterProfile": {
          "type": "string",
          "description": "Name of an existing Diameter filter profile.\n"
        },
        "disclaimer": {
          "type": "string",
          "description": "Web proxy disclaimer setting: by domain, policy, or user. Valid values: `disable`, `domain`, `policy`, `user`.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "Name of an existing DLP profile.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyDstaddr6:ProxypolicyDstaddr6"
          },
          "description": "IPv6 destination address objects. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled, destination addresses match against any address EXCEPT the specified destination addresses. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyDstaddr:ProxypolicyDstaddr"
          },
          "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyDstintf:ProxypolicyDstintf"
          },
          "description": "Destination interface names. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "fileFilterProfile": {
          "type": "string",
          "description": "Name of an existing file-filter profile.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "globalLabel": {
          "type": "string",
          "description": "Global web-based manager visible label.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyGroup:ProxypolicyGroup"
          },
          "description": "Names of group objects. The structure of `groups` block is documented below.\n"
        },
        "httpTunnelAuth": {
          "type": "string",
          "description": "Enable/disable HTTP tunnel authentication. Valid values: `enable`, `disable`.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6": {
          "type": "string",
          "description": "Enable/disable use of Internet Services IPv6 for this policy. If enabled, destination IPv6 address and service are not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6CustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6CustomGroup:ProxypolicyInternetService6CustomGroup"
          },
          "description": "Custom Internet Service IPv6 group name. The structure of `internet_service6_custom_group` block is documented below.\n"
        },
        "internetService6Customs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6Custom:ProxypolicyInternetService6Custom"
          },
          "description": "Custom Internet Service IPv6 name. The structure of `internet_service6_custom` block is documented below.\n"
        },
        "internetService6Groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6Group:ProxypolicyInternetService6Group"
          },
          "description": "Internet Service IPv6 group name. The structure of `internet_service6_group` block is documented below.\n"
        },
        "internetService6Names": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6Name:ProxypolicyInternetService6Name"
          },
          "description": "Internet Service IPv6 name. The structure of `internet_service6_name` block is documented below.\n"
        },
        "internetService6Negate": {
          "type": "string",
          "description": "When enabled, Internet Services match against any internet service IPv6 EXCEPT the selected Internet Service IPv6. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceCustomGroup:ProxypolicyInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceCustom:ProxypolicyInternetServiceCustom"
          },
          "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceGroup:ProxypolicyInternetServiceGroup"
          },
          "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceId:ProxypolicyInternetServiceId"
          },
          "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceName:ProxypolicyInternetServiceName"
          },
          "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
        },
        "internetServiceNegate": {
          "type": "string",
          "description": "When enabled, Internet Services match against any internet service EXCEPT the selected Internet Service. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "ipsVoipFilter": {
          "type": "string",
          "description": "Name of an existing VoIP (ips) profile.\n"
        },
        "label": {
          "type": "string",
          "description": "VDOM-specific GUI visible label.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable/disable logging traffic through the policy. Valid values: `all`, `utm`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Enable/disable policy log traffic start. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "poolnames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyPoolname:ProxypolicyPoolname"
          },
          "description": "Name of IP pool object. The structure of `poolname` block is documented below.\n"
        },
        "profileGroup": {
          "type": "string",
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
        },
        "proxy": {
          "type": "string",
          "description": "Type of explicit proxy.\n"
        },
        "redirectUrl": {
          "type": "string",
          "description": "Redirect URL for further explicit web proxy processing.\n"
        },
        "replacemsgOverrideGroup": {
          "type": "string",
          "description": "Authentication replacement message override group.\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Enable/disable scanning of connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Name of schedule object.\n"
        },
        "sctpFilterProfile": {
          "type": "string",
          "description": "Name of an existing SCTP filter profile.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled, services match against any service EXCEPT the specified destination services. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyService:ProxypolicyService"
          },
          "description": "Name of service objects. The structure of `service` block is documented below.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing Spam filter profile.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicySrcaddr6:ProxypolicySrcaddr6"
          },
          "description": "IPv6 source address objects. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled, source addresses match against any address EXCEPT the specified source addresses. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicySrcaddr:ProxypolicySrcaddr"
          },
          "description": "Source address objects. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicySrcintf:ProxypolicySrcintf"
          },
          "description": "Source interface names. The structure of `srcintf` block is documented below.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sshPolicyRedirect": {
          "type": "string",
          "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of the policy. Valid values: `enable`, `disable`.\n"
        },
        "transparent": {
          "type": "string",
          "description": "Enable to use the IP address of the client to connect to the server. Valid values: `enable`, `disable`.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyUser:ProxypolicyUser"
          },
          "description": "Names of user objects. The structure of `users` block is documented below.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable the use of UTM profiles/sensors/lists. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "videofilterProfile": {
          "type": "string",
          "description": "Name of an existing VideoFilter profile.\n"
        },
        "virtualPatchProfile": {
          "type": "string",
          "description": "Name of an existing virtual-patch profile.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP profile.\n"
        },
        "wafProfile": {
          "type": "string",
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "webcache": {
          "type": "string",
          "description": "Enable/disable web caching. Valid values: `enable`, `disable`.\n"
        },
        "webcacheHttps": {
          "type": "string",
          "description": "Enable/disable web caching for HTTPS (Requires deep-inspection enabled in ssl-ssh-profile). Valid values: `disable`, `enable`.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        },
        "webproxyForwardServer": {
          "type": "string",
          "description": "Web proxy forward server name.\n"
        },
        "webproxyProfile": {
          "type": "string",
          "description": "Name of web proxy profile.\n"
        },
        "ztnaEmsTags": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicyZtnaEmsTag:ProxypolicyZtnaEmsTag"
          },
          "description": "ZTNA EMS Tag names. The structure of `ztna_ems_tag` block is documented below.\n"
        },
        "ztnaTagsMatchLogic": {
          "type": "string",
          "description": "ZTNA tag matching logic. Valid values: `or`, `and`.\n"
        }
      },
      "requiredInputs": [
        "dstintfs",
        "proxy",
        "schedule"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Proxypolicy resources.\n",
        "properties": {
          "accessProxies": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyAccessProxy:ProxypolicyAccessProxy"
            },
            "description": "IPv4 access proxy. The structure of `access_proxy` block is documented below.\n"
          },
          "accessProxy6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyAccessProxy6:ProxypolicyAccessProxy6"
            },
            "description": "IPv6 access proxy. The structure of `access_proxy6` block is documented below.\n"
          },
          "action": {
            "type": "string",
            "description": "Accept or deny traffic matching the policy parameters. Valid values: `accept`, `deny`, `redirect`.\n"
          },
          "applicationList": {
            "type": "string",
            "description": "Name of an existing Application list.\n"
          },
          "avProfile": {
            "type": "string",
            "description": "Name of an existing Antivirus profile.\n"
          },
          "blockNotification": {
            "type": "string",
            "description": "Enable/disable block notification. Valid values: `enable`, `disable`.\n"
          },
          "casbProfile": {
            "type": "string",
            "description": "Name of an existing CASB profile.\n"
          },
          "cifsProfile": {
            "type": "string",
            "description": "Name of an existing CIFS profile.\n"
          },
          "comments": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "decryptedTrafficMirror": {
            "type": "string",
            "description": "Decrypted traffic mirror.\n"
          },
          "detectHttpsInHttpRequest": {
            "type": "string",
            "description": "Enable/disable detection of HTTPS in HTTP request. Valid values: `enable`, `disable`.\n"
          },
          "deviceOwnership": {
            "type": "string",
            "description": "When enabled, the ownership enforcement will be done at policy level. Valid values: `enable`, `disable`.\n"
          },
          "diameterFilterProfile": {
            "type": "string",
            "description": "Name of an existing Diameter filter profile.\n"
          },
          "disclaimer": {
            "type": "string",
            "description": "Web proxy disclaimer setting: by domain, policy, or user. Valid values: `disable`, `domain`, `policy`, `user`.\n"
          },
          "dlpProfile": {
            "type": "string",
            "description": "Name of an existing DLP profile.\n"
          },
          "dlpSensor": {
            "type": "string",
            "description": "Name of an existing DLP sensor.\n"
          },
          "dstaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyDstaddr6:ProxypolicyDstaddr6"
            },
            "description": "IPv6 destination address objects. The structure of `dstaddr6` block is documented below.\n"
          },
          "dstaddrNegate": {
            "type": "string",
            "description": "When enabled, destination addresses match against any address EXCEPT the specified destination addresses. Valid values: `enable`, `disable`.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyDstaddr:ProxypolicyDstaddr"
            },
            "description": "Destination address objects. The structure of `dstaddr` block is documented below.\n"
          },
          "dstintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyDstintf:ProxypolicyDstintf"
            },
            "description": "Destination interface names. The structure of `dstintf` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emailfilterProfile": {
            "type": "string",
            "description": "Name of an existing email filter profile.\n"
          },
          "fileFilterProfile": {
            "type": "string",
            "description": "Name of an existing file-filter profile.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "globalLabel": {
            "type": "string",
            "description": "Global web-based manager visible label.\n"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyGroup:ProxypolicyGroup"
            },
            "description": "Names of group objects. The structure of `groups` block is documented below.\n"
          },
          "httpTunnelAuth": {
            "type": "string",
            "description": "Enable/disable HTTP tunnel authentication. Valid values: `enable`, `disable`.\n"
          },
          "icapProfile": {
            "type": "string",
            "description": "Name of an existing ICAP profile.\n"
          },
          "internetService": {
            "type": "string",
            "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.\n"
          },
          "internetService6": {
            "type": "string",
            "description": "Enable/disable use of Internet Services IPv6 for this policy. If enabled, destination IPv6 address and service are not used. Valid values: `enable`, `disable`.\n"
          },
          "internetService6CustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6CustomGroup:ProxypolicyInternetService6CustomGroup"
            },
            "description": "Custom Internet Service IPv6 group name. The structure of `internet_service6_custom_group` block is documented below.\n"
          },
          "internetService6Customs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6Custom:ProxypolicyInternetService6Custom"
            },
            "description": "Custom Internet Service IPv6 name. The structure of `internet_service6_custom` block is documented below.\n"
          },
          "internetService6Groups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6Group:ProxypolicyInternetService6Group"
            },
            "description": "Internet Service IPv6 group name. The structure of `internet_service6_group` block is documented below.\n"
          },
          "internetService6Names": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyInternetService6Name:ProxypolicyInternetService6Name"
            },
            "description": "Internet Service IPv6 name. The structure of `internet_service6_name` block is documented below.\n"
          },
          "internetService6Negate": {
            "type": "string",
            "description": "When enabled, Internet Services match against any internet service IPv6 EXCEPT the selected Internet Service IPv6. Valid values: `enable`, `disable`.\n"
          },
          "internetServiceCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceCustomGroup:ProxypolicyInternetServiceCustomGroup"
            },
            "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
          },
          "internetServiceCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceCustom:ProxypolicyInternetServiceCustom"
            },
            "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
          },
          "internetServiceGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceGroup:ProxypolicyInternetServiceGroup"
            },
            "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
          },
          "internetServiceIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceId:ProxypolicyInternetServiceId"
            },
            "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
          },
          "internetServiceNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyInternetServiceName:ProxypolicyInternetServiceName"
            },
            "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
          },
          "internetServiceNegate": {
            "type": "string",
            "description": "When enabled, Internet Services match against any internet service EXCEPT the selected Internet Service. Valid values: `enable`, `disable`.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "Name of an existing IPS sensor.\n"
          },
          "ipsVoipFilter": {
            "type": "string",
            "description": "Name of an existing VoIP (ips) profile.\n"
          },
          "label": {
            "type": "string",
            "description": "VDOM-specific GUI visible label.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Enable/disable logging traffic through the policy. Valid values: `all`, `utm`, `disable`.\n"
          },
          "logtrafficStart": {
            "type": "string",
            "description": "Enable/disable policy log traffic start. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "poolnames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyPoolname:ProxypolicyPoolname"
            },
            "description": "Name of IP pool object. The structure of `poolname` block is documented below.\n"
          },
          "profileGroup": {
            "type": "string",
            "description": "Name of profile group.\n"
          },
          "profileProtocolOptions": {
            "type": "string",
            "description": "Name of an existing Protocol options profile.\n"
          },
          "profileType": {
            "type": "string",
            "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
          },
          "proxy": {
            "type": "string",
            "description": "Type of explicit proxy.\n"
          },
          "redirectUrl": {
            "type": "string",
            "description": "Redirect URL for further explicit web proxy processing.\n"
          },
          "replacemsgOverrideGroup": {
            "type": "string",
            "description": "Authentication replacement message override group.\n"
          },
          "scanBotnetConnections": {
            "type": "string",
            "description": "Enable/disable scanning of connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Name of schedule object.\n"
          },
          "sctpFilterProfile": {
            "type": "string",
            "description": "Name of an existing SCTP filter profile.\n"
          },
          "serviceNegate": {
            "type": "string",
            "description": "When enabled, services match against any service EXCEPT the specified destination services. Valid values: `enable`, `disable`.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyService:ProxypolicyService"
            },
            "description": "Name of service objects. The structure of `service` block is documented below.\n"
          },
          "sessionTtl": {
            "type": "integer",
            "description": "TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).\n"
          },
          "spamfilterProfile": {
            "type": "string",
            "description": "Name of an existing Spam filter profile.\n"
          },
          "srcaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicySrcaddr6:ProxypolicySrcaddr6"
            },
            "description": "IPv6 source address objects. The structure of `srcaddr6` block is documented below.\n"
          },
          "srcaddrNegate": {
            "type": "string",
            "description": "When enabled, source addresses match against any address EXCEPT the specified source addresses. Valid values: `enable`, `disable`.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicySrcaddr:ProxypolicySrcaddr"
            },
            "description": "Source address objects. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicySrcintf:ProxypolicySrcintf"
            },
            "description": "Source interface names. The structure of `srcintf` block is documented below.\n"
          },
          "sshFilterProfile": {
            "type": "string",
            "description": "Name of an existing SSH filter profile.\n"
          },
          "sshPolicyRedirect": {
            "type": "string",
            "description": "Redirect SSH traffic to matching transparent proxy policy. Valid values: `enable`, `disable`.\n"
          },
          "sslSshProfile": {
            "type": "string",
            "description": "Name of an existing SSL SSH profile.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable the active status of the policy. Valid values: `enable`, `disable`.\n"
          },
          "transparent": {
            "type": "string",
            "description": "Enable to use the IP address of the client to connect to the server. Valid values: `enable`, `disable`.\n"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyUser:ProxypolicyUser"
            },
            "description": "Names of user objects. The structure of `users` block is documented below.\n"
          },
          "utmStatus": {
            "type": "string",
            "description": "Enable the use of UTM profiles/sensors/lists. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "videofilterProfile": {
            "type": "string",
            "description": "Name of an existing VideoFilter profile.\n"
          },
          "virtualPatchProfile": {
            "type": "string",
            "description": "Name of an existing virtual-patch profile.\n"
          },
          "voipProfile": {
            "type": "string",
            "description": "Name of an existing VoIP profile.\n"
          },
          "wafProfile": {
            "type": "string",
            "description": "Name of an existing Web application firewall profile.\n"
          },
          "webcache": {
            "type": "string",
            "description": "Enable/disable web caching. Valid values: `enable`, `disable`.\n"
          },
          "webcacheHttps": {
            "type": "string",
            "description": "Enable/disable web caching for HTTPS (Requires deep-inspection enabled in ssl-ssh-profile). Valid values: `disable`, `enable`.\n"
          },
          "webfilterProfile": {
            "type": "string",
            "description": "Name of an existing Web filter profile.\n"
          },
          "webproxyForwardServer": {
            "type": "string",
            "description": "Web proxy forward server name.\n"
          },
          "webproxyProfile": {
            "type": "string",
            "description": "Name of web proxy profile.\n"
          },
          "ztnaEmsTags": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicyZtnaEmsTag:ProxypolicyZtnaEmsTag"
            },
            "description": "ZTNA EMS Tag names. The structure of `ztna_ems_tag` block is documented below.\n"
          },
          "ztnaTagsMatchLogic": {
            "type": "string",
            "description": "ZTNA tag matching logic. Valid values: `or`, `and`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/proxypolicyMove:ProxypolicyMove": {
      "properties": {
        "comment": {
          "type": "string"
        },
        "move": {
          "type": "string"
        },
        "policyidDst": {
          "type": "integer"
        },
        "policyidSrc": {
          "type": "integer"
        },
        "statePolicySrcdstPos": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "move",
        "policyidDst",
        "policyidSrc"
      ],
      "inputProperties": {
        "comment": {
          "type": "string"
        },
        "move": {
          "type": "string"
        },
        "policyidDst": {
          "type": "integer"
        },
        "policyidSrc": {
          "type": "integer"
        },
        "statePolicySrcdstPos": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "move",
        "policyidDst",
        "policyidSrc"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ProxypolicyMove resources.\n",
        "properties": {
          "comment": {
            "type": "string"
          },
          "move": {
            "type": "string"
          },
          "policyidDst": {
            "type": "integer"
          },
          "policyidSrc": {
            "type": "integer"
          },
          "statePolicySrcdstPos": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/proxypolicySort:ProxypolicySort": {
      "properties": {
        "comment": {
          "type": "string"
        },
        "forceRecreate": {
          "type": "string"
        },
        "manualOrders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sortby": {
          "type": "string"
        },
        "sortdirection": {
          "type": "string"
        },
        "statePolicyLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FProxypolicySortStatePolicyList:ProxypolicySortStatePolicyList"
          }
        },
        "status": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "forceRecreate",
        "manualOrders",
        "sortby",
        "sortdirection",
        "statePolicyLists",
        "status"
      ],
      "inputProperties": {
        "comment": {
          "type": "string"
        },
        "forceRecreate": {
          "type": "string"
        },
        "manualOrders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sortby": {
          "type": "string"
        },
        "sortdirection": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "sortby",
        "sortdirection"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ProxypolicySort resources.\n",
        "properties": {
          "comment": {
            "type": "string"
          },
          "forceRecreate": {
            "type": "string"
          },
          "manualOrders": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sortby": {
            "type": "string"
          },
          "sortdirection": {
            "type": "string"
          },
          "statePolicyLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FProxypolicySortStatePolicyList:ProxypolicySortStatePolicyList"
            }
          },
          "status": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/region:Region": {
      "description": "Define region table. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nFirewall Region can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/region:Region labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/region:Region labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FRegionCity:RegionCity"
          },
          "description": "City ID list. The structure of `city` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Region ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Region name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "cities": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FRegionCity:RegionCity"
          },
          "description": "City ID list. The structure of `city` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Region ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Region name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Region resources.\n",
        "properties": {
          "cities": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FRegionCity:RegionCity"
            },
            "description": "City ID list. The structure of `city` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Region ID.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Region name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/schedule/group:Group": {
      "description": "Schedule group configuration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1 = new fortios.firewall.schedule.Recurring(\"trname1\", {\n    color: 0,\n    day: \"sunday\",\n    end: \"00:00\",\n    start: \"00:00\",\n});\nconst trname = new fortios.firewall.schedule.Group(\"trname\", {\n    color: 0,\n    members: [{\n        name: trname1.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.firewall.schedule.Recurring(\"trname1\",\n    color=0,\n    day=\"sunday\",\n    end=\"00:00\",\n    start=\"00:00\")\ntrname = fortios.firewall.schedule.Group(\"trname\",\n    color=0,\n    members=[fortios.firewall.schedule.GroupMemberArgs(\n        name=trname1.name,\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname1 = new Fortios.Firewall.Schedule.Recurring(\"trname1\", new()\n    {\n        Color = 0,\n        Day = \"sunday\",\n        End = \"00:00\",\n        Start = \"00:00\",\n    });\n\n    var trname = new Fortios.Firewall.Schedule.Group(\"trname\", new()\n    {\n        Color = 0,\n        Members = new[]\n        {\n            new Fortios.Firewall.Schedule.Inputs.GroupMemberArgs\n            {\n                Name = trname1.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := firewall.NewRecurring(ctx, \"trname1\", &firewall.RecurringArgs{\n\t\t\tColor: pulumi.Int(0),\n\t\t\tDay:   pulumi.String(\"sunday\"),\n\t\t\tEnd:   pulumi.String(\"00:00\"),\n\t\t\tStart: pulumi.String(\"00:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewGroup(ctx, \"trname\", &firewall.GroupArgs{\n\t\t\tColor: pulumi.Int(0),\n\t\t\tMembers: schedule.GroupMemberArray{\n\t\t\t\t&schedule.GroupMemberArgs{\n\t\t\t\t\tName: trname1.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Recurring;\nimport com.pulumi.fortios.firewall.RecurringArgs;\nimport com.pulumi.fortios.firewall.Group;\nimport com.pulumi.fortios.firewall.GroupArgs;\nimport com.pulumi.fortios.firewall.inputs.GroupMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname1 = new Recurring(\"trname1\", RecurringArgs.builder()\n            .color(0)\n            .day(\"sunday\")\n            .end(\"00:00\")\n            .start(\"00:00\")\n            .build());\n\n        var trname = new Group(\"trname\", GroupArgs.builder()\n            .color(0)\n            .members(GroupMemberArgs.builder()\n                .name(trname1.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:firewall/schedule:Recurring\n    properties:\n      color: 0\n      day: sunday\n      end: 00:00\n      start: 00:00\n  trname:\n    type: fortios:firewall/schedule:Group\n    properties:\n      color: 0\n      members:\n        - name: ${trname1.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallSchedule Group can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/schedule/group:Group labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/schedule/group:Group labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fschedule%2FGroupMember:GroupMember"
          },
          "description": "Schedules added to the schedule group. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Schedule group name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "fabricObject",
        "members",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fschedule%2FGroupMember:GroupMember"
          },
          "description": "Schedules added to the schedule group. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Schedule group name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Group resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fschedule%2FGroupMember:GroupMember"
            },
            "description": "Schedules added to the schedule group. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Schedule group name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/schedule/onetime:Onetime": {
      "description": "Onetime schedule configuration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.schedule.Onetime(\"trname\", {\n    color: 0,\n    end: \"00:00 2020/12/12\",\n    expirationDays: 2,\n    start: \"00:00 2010/12/12\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.schedule.Onetime(\"trname\",\n    color=0,\n    end=\"00:00 2020/12/12\",\n    expiration_days=2,\n    start=\"00:00 2010/12/12\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Schedule.Onetime(\"trname\", new()\n    {\n        Color = 0,\n        End = \"00:00 2020/12/12\",\n        ExpirationDays = 2,\n        Start = \"00:00 2010/12/12\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewOnetime(ctx, \"trname\", &firewall.OnetimeArgs{\n\t\t\tColor:          pulumi.Int(0),\n\t\t\tEnd:            pulumi.String(\"00:00 2020/12/12\"),\n\t\t\tExpirationDays: pulumi.Int(2),\n\t\t\tStart:          pulumi.String(\"00:00 2010/12/12\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Onetime;\nimport com.pulumi.fortios.firewall.OnetimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Onetime(\"trname\", OnetimeArgs.builder()\n            .color(0)\n            .end(\"00:00 2020/12/12\")\n            .expirationDays(2)\n            .start(\"00:00 2010/12/12\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/schedule:Onetime\n    properties:\n      color: 0\n      end: 00:00 2020/12/12\n      expirationDays: 2\n      start: 00:00 2010/12/12\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallSchedule Onetime can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/schedule/onetime:Onetime labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/schedule/onetime:Onetime labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "end": {
          "type": "string",
          "description": "Schedule end date and time, format hh:mm yyyy/mm/dd.\n"
        },
        "endUtc": {
          "type": "string",
          "description": "Schedule end date and time, in epoch format.\n"
        },
        "expirationDays": {
          "type": "integer",
          "description": "Write an event log message this many days before the schedule expires.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Onetime schedule name.\n"
        },
        "start": {
          "type": "string",
          "description": "Schedule start date and time, format hh:mm yyyy/mm/dd.\n"
        },
        "startUtc": {
          "type": "string",
          "description": "Schedule start date and time, in epoch format.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "end",
        "endUtc",
        "expirationDays",
        "fabricObject",
        "name",
        "start",
        "startUtc",
        "vdomparam"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "end": {
          "type": "string",
          "description": "Schedule end date and time, format hh:mm yyyy/mm/dd.\n"
        },
        "endUtc": {
          "type": "string",
          "description": "Schedule end date and time, in epoch format.\n"
        },
        "expirationDays": {
          "type": "integer",
          "description": "Write an event log message this many days before the schedule expires.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Onetime schedule name.\n"
        },
        "start": {
          "type": "string",
          "description": "Schedule start date and time, format hh:mm yyyy/mm/dd.\n"
        },
        "startUtc": {
          "type": "string",
          "description": "Schedule start date and time, in epoch format.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "end",
        "start"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Onetime resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "end": {
            "type": "string",
            "description": "Schedule end date and time, format hh:mm yyyy/mm/dd.\n"
          },
          "endUtc": {
            "type": "string",
            "description": "Schedule end date and time, in epoch format.\n"
          },
          "expirationDays": {
            "type": "integer",
            "description": "Write an event log message this many days before the schedule expires.\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Onetime schedule name.\n"
          },
          "start": {
            "type": "string",
            "description": "Schedule start date and time, format hh:mm yyyy/mm/dd.\n"
          },
          "startUtc": {
            "type": "string",
            "description": "Schedule start date and time, in epoch format.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/schedule/recurring:Recurring": {
      "description": "Recurring schedule configuration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.schedule.Recurring(\"trname\", {\n    color: 0,\n    day: \"sunday\",\n    end: \"00:00\",\n    start: \"00:00\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.schedule.Recurring(\"trname\",\n    color=0,\n    day=\"sunday\",\n    end=\"00:00\",\n    start=\"00:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Schedule.Recurring(\"trname\", new()\n    {\n        Color = 0,\n        Day = \"sunday\",\n        End = \"00:00\",\n        Start = \"00:00\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewRecurring(ctx, \"trname\", &firewall.RecurringArgs{\n\t\t\tColor: pulumi.Int(0),\n\t\t\tDay:   pulumi.String(\"sunday\"),\n\t\t\tEnd:   pulumi.String(\"00:00\"),\n\t\t\tStart: pulumi.String(\"00:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Recurring;\nimport com.pulumi.fortios.firewall.RecurringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Recurring(\"trname\", RecurringArgs.builder()\n            .color(0)\n            .day(\"sunday\")\n            .end(\"00:00\")\n            .start(\"00:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/schedule:Recurring\n    properties:\n      color: 0\n      day: sunday\n      end: 00:00\n      start: 00:00\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallSchedule Recurring can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/schedule/recurring:Recurring labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/schedule/recurring:Recurring labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "day": {
          "type": "string",
          "description": "One or more days of the week on which the schedule is valid. Separate the names of the days with a space. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `none`.\n"
        },
        "end": {
          "type": "string",
          "description": "Time of day to end the schedule, format hh:mm.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Recurring schedule name.\n"
        },
        "start": {
          "type": "string",
          "description": "Time of day to start the schedule, format hh:mm.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "day",
        "end",
        "fabricObject",
        "name",
        "start",
        "vdomparam"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "day": {
          "type": "string",
          "description": "One or more days of the week on which the schedule is valid. Separate the names of the days with a space. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `none`.\n"
        },
        "end": {
          "type": "string",
          "description": "Time of day to end the schedule, format hh:mm.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Recurring schedule name.\n"
        },
        "start": {
          "type": "string",
          "description": "Time of day to start the schedule, format hh:mm.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "end",
        "start"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Recurring resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "day": {
            "type": "string",
            "description": "One or more days of the week on which the schedule is valid. Separate the names of the days with a space. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `none`.\n"
          },
          "end": {
            "type": "string",
            "description": "Time of day to end the schedule, format hh:mm.\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Recurring schedule name.\n"
          },
          "start": {
            "type": "string",
            "description": "Time of day to start the schedule, format hh:mm.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/securityPolicyseq:SecurityPolicyseq": {
      "properties": {
        "alterPosition": {
          "type": "string",
          "description": "The alter position: should only be \"before\" or \"after\"\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment\n"
        },
        "enableStateChecking": {
          "type": "boolean"
        },
        "policyDstId": {
          "type": "integer",
          "description": "The dest policy id which you want to alter\n"
        },
        "policySrcId": {
          "type": "integer",
          "description": "The policy id which you want to alter\n"
        },
        "statePolicyLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecurityPolicyseqStatePolicyList:SecurityPolicyseqStatePolicyList"
          }
        },
        "statePolicySrcdstPos": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "alterPosition",
        "policyDstId",
        "policySrcId",
        "statePolicyLists"
      ],
      "inputProperties": {
        "alterPosition": {
          "type": "string",
          "description": "The alter position: should only be \"before\" or \"after\"\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment\n"
        },
        "enableStateChecking": {
          "type": "boolean"
        },
        "policyDstId": {
          "type": "integer",
          "description": "The dest policy id which you want to alter\n"
        },
        "policySrcId": {
          "type": "integer",
          "description": "The policy id which you want to alter\n"
        },
        "statePolicySrcdstPos": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "alterPosition",
        "policyDstId",
        "policySrcId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SecurityPolicyseq resources.\n",
        "properties": {
          "alterPosition": {
            "type": "string",
            "description": "The alter position: should only be \"before\" or \"after\"\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment\n"
          },
          "enableStateChecking": {
            "type": "boolean"
          },
          "policyDstId": {
            "type": "integer",
            "description": "The dest policy id which you want to alter\n"
          },
          "policySrcId": {
            "type": "integer",
            "description": "The policy id which you want to alter\n"
          },
          "statePolicyLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecurityPolicyseqStatePolicyList:SecurityPolicyseqStatePolicyList"
            }
          },
          "statePolicySrcdstPos": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/securitypolicy:Securitypolicy": {
      "description": "Configure NGFW IPv4/IPv6 application policies. Applies to FortiOS Version `>= 6.2.4`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Securitypolicy(\"trname\", {\n    action: \"accept\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    dstintfs: [{\n        name: \"port4\",\n    }],\n    logtraffic: \"utm\",\n    policyid: 1,\n    profileProtocolOptions: \"default\",\n    profileType: \"single\",\n    schedule: \"always\",\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    srcintfs: [{\n        name: \"port2\",\n    }],\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Securitypolicy(\"trname\",\n    action=\"accept\",\n    dstaddrs=[fortios.firewall.SecuritypolicyDstaddrArgs(\n        name=\"all\",\n    )],\n    dstintfs=[fortios.firewall.SecuritypolicyDstintfArgs(\n        name=\"port4\",\n    )],\n    logtraffic=\"utm\",\n    policyid=1,\n    profile_protocol_options=\"default\",\n    profile_type=\"single\",\n    schedule=\"always\",\n    srcaddrs=[fortios.firewall.SecuritypolicySrcaddrArgs(\n        name=\"all\",\n    )],\n    srcintfs=[fortios.firewall.SecuritypolicySrcintfArgs(\n        name=\"port2\",\n    )],\n    status=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Securitypolicy(\"trname\", new()\n    {\n        Action = \"accept\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.SecuritypolicyDstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Dstintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.SecuritypolicyDstintfArgs\n            {\n                Name = \"port4\",\n            },\n        },\n        Logtraffic = \"utm\",\n        Policyid = 1,\n        ProfileProtocolOptions = \"default\",\n        ProfileType = \"single\",\n        Schedule = \"always\",\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.SecuritypolicySrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Srcintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.SecuritypolicySrcintfArgs\n            {\n                Name = \"port2\",\n            },\n        },\n        Status = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewSecuritypolicy(ctx, \"trname\", &firewall.SecuritypolicyArgs{\n\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\tDstaddrs: firewall.SecuritypolicyDstaddrArray{\n\t\t\t\t&firewall.SecuritypolicyDstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDstintfs: firewall.SecuritypolicyDstintfArray{\n\t\t\t\t&firewall.SecuritypolicyDstintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLogtraffic:             pulumi.String(\"utm\"),\n\t\t\tPolicyid:               pulumi.Int(1),\n\t\t\tProfileProtocolOptions: pulumi.String(\"default\"),\n\t\t\tProfileType:            pulumi.String(\"single\"),\n\t\t\tSchedule:               pulumi.String(\"always\"),\n\t\t\tSrcaddrs: firewall.SecuritypolicySrcaddrArray{\n\t\t\t\t&firewall.SecuritypolicySrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcintfs: firewall.SecuritypolicySrcintfArray{\n\t\t\t\t&firewall.SecuritypolicySrcintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Securitypolicy;\nimport com.pulumi.fortios.firewall.SecuritypolicyArgs;\nimport com.pulumi.fortios.firewall.inputs.SecuritypolicyDstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.SecuritypolicyDstintfArgs;\nimport com.pulumi.fortios.firewall.inputs.SecuritypolicySrcaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.SecuritypolicySrcintfArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Securitypolicy(\"trname\", SecuritypolicyArgs.builder()\n            .action(\"accept\")\n            .dstaddrs(SecuritypolicyDstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .dstintfs(SecuritypolicyDstintfArgs.builder()\n                .name(\"port4\")\n                .build())\n            .logtraffic(\"utm\")\n            .policyid(1)\n            .profileProtocolOptions(\"default\")\n            .profileType(\"single\")\n            .schedule(\"always\")\n            .srcaddrs(SecuritypolicySrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .srcintfs(SecuritypolicySrcintfArgs.builder()\n                .name(\"port2\")\n                .build())\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Securitypolicy\n    properties:\n      action: accept\n      dstaddrs:\n        - name: all\n      dstintfs:\n        - name: port4\n      logtraffic: utm\n      policyid: 1\n      profileProtocolOptions: default\n      profileType: single\n      schedule: always\n      srcaddrs:\n        - name: all\n      srcintfs:\n        - name: port2\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall SecurityPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/securitypolicy:Securitypolicy labelname {{policyid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/securitypolicy:Securitypolicy labelname {{policyid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Policy action (accept/deny). Valid values: `accept`, `deny`.\n"
        },
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyAppCategory:SecuritypolicyAppCategory"
          },
          "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
        },
        "appGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyAppGroup:SecuritypolicyAppGroup"
          },
          "description": "Application group names. The structure of `app_group` block is documented below.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyApplication:SecuritypolicyApplication"
          },
          "description": "Application ID list. The structure of `application` block is documented below.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "Name of an existing CASB profile.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "diameterFilterProfile": {
          "type": "string",
          "description": "Name of an existing Diameter filter profile.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "Name of an existing DLP profile.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dnsfilterProfile": {
          "type": "string",
          "description": "Name of an existing DNS filter profile.\n"
        },
        "dstaddr4s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstaddr4:SecuritypolicyDstaddr4"
          },
          "description": "Destination IPv4 address name and address group names. The structure of `dstaddr4` block is documented below.\n"
        },
        "dstaddr6Negate": {
          "type": "string",
          "description": "When enabled dstaddr6 specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstaddr6:SecuritypolicyDstaddr6"
          },
          "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr/dstaddr6 specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstaddr:SecuritypolicyDstaddr"
          },
          "description": "Destination IPv4 address name and address group names. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstintf:SecuritypolicyDstintf"
          },
          "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "enforceDefaultAppPort": {
          "type": "string",
          "description": "Enable/disable default application port enforcement for allowed applications. Valid values: `enable`, `disable`.\n"
        },
        "fileFilterProfile": {
          "type": "string",
          "description": "Name of an existing file-filter profile.\n"
        },
        "fssoGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyFssoGroup:SecuritypolicyFssoGroup"
          },
          "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyGroup:SecuritypolicyGroup"
          },
          "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6": {
          "type": "string",
          "description": "Enable/disable use of IPv6 Internet Services for this policy. If enabled, destination address, service and default application port enforcement are not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6CustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6CustomGroup:SecuritypolicyInternetService6CustomGroup"
          },
          "description": "Custom IPv6 Internet Service group name. The structure of `internet_service6_custom_group` block is documented below.\n"
        },
        "internetService6Customs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6Custom:SecuritypolicyInternetService6Custom"
          },
          "description": "Custom IPv6 Internet Service name. The structure of `internet_service6_custom` block is documented below.\n"
        },
        "internetService6Groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6Group:SecuritypolicyInternetService6Group"
          },
          "description": "Internet Service group name. The structure of `internet_service6_group` block is documented below.\n"
        },
        "internetService6Names": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6Name:SecuritypolicyInternetService6Name"
          },
          "description": "IPv6 Internet Service name. The structure of `internet_service6_name` block is documented below.\n"
        },
        "internetService6Negate": {
          "type": "string",
          "description": "When enabled internet-service6 specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetService6Src": {
          "type": "string",
          "description": "Enable/disable use of IPv6 Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6SrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcCustomGroup:SecuritypolicyInternetService6SrcCustomGroup"
          },
          "description": "Custom Internet Service6 source group name. The structure of `internet_service6_src_custom_group` block is documented below.\n"
        },
        "internetService6SrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcCustom:SecuritypolicyInternetService6SrcCustom"
          },
          "description": "Custom IPv6 Internet Service source name. The structure of `internet_service6_src_custom` block is documented below.\n"
        },
        "internetService6SrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcGroup:SecuritypolicyInternetService6SrcGroup"
          },
          "description": "Internet Service6 source group name. The structure of `internet_service6_src_group` block is documented below.\n"
        },
        "internetService6SrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcName:SecuritypolicyInternetService6SrcName"
          },
          "description": "IPv6 Internet Service source name. The structure of `internet_service6_src_name` block is documented below.\n"
        },
        "internetService6SrcNegate": {
          "type": "string",
          "description": "When enabled internet-service6-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceCustomGroup:SecuritypolicyInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceCustom:SecuritypolicyInternetServiceCustom"
          },
          "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceGroup:SecuritypolicyInternetServiceGroup"
          },
          "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceId:SecuritypolicyInternetServiceId"
          },
          "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceName:SecuritypolicyInternetServiceName"
          },
          "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
        },
        "internetServiceNegate": {
          "type": "string",
          "description": "When enabled internet-service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcCustomGroup:SecuritypolicyInternetServiceSrcCustomGroup"
          },
          "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
        },
        "internetServiceSrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcCustom:SecuritypolicyInternetServiceSrcCustom"
          },
          "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
        },
        "internetServiceSrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcGroup:SecuritypolicyInternetServiceSrcGroup"
          },
          "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
        },
        "internetServiceSrcIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcId:SecuritypolicyInternetServiceSrcId"
          },
          "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcName:SecuritypolicyInternetServiceSrcName"
          },
          "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
        },
        "internetServiceSrcNegate": {
          "type": "string",
          "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "ipsVoipFilter": {
          "type": "string",
          "description": "Name of an existing VoIP (ips) profile.\n"
        },
        "learningMode": {
          "type": "string",
          "description": "Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be generated. Valid values: `enable`, `disable`.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "nat46": {
          "type": "string",
          "description": "Enable/disable NAT46. Valid values: `enable`, `disable`.\n"
        },
        "nat64": {
          "type": "string",
          "description": "Enable/disable NAT64. Valid values: `enable`, `disable`.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "profileGroup": {
          "type": "string",
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "sctpFilterProfile": {
          "type": "string",
          "description": "Name of an existing SCTP filter profile.\n"
        },
        "sendDenyPacket": {
          "type": "string",
          "description": "Enable to send a reply when a session is denied or blocked by a firewall policy. Valid values: `disable`, `enable`.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyService:SecuritypolicyService"
          },
          "description": "Service and service group names. The structure of `service` block is documented below.\n"
        },
        "srcaddr4s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcaddr4:SecuritypolicySrcaddr4"
          },
          "description": "Source IPv4 address name and address group names. The structure of `srcaddr4` block is documented below.\n"
        },
        "srcaddr6Negate": {
          "type": "string",
          "description": "When enabled srcaddr6 specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcaddr6:SecuritypolicySrcaddr6"
          },
          "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr/srcaddr6 specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcaddr:SecuritypolicySrcaddr"
          },
          "description": "Source IPv4 address name and address group names. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcintf:SecuritypolicySrcintf"
          },
          "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "urlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyUrlCategory:SecuritypolicyUrlCategory"
          },
          "description": "URL category ID list. *Due to the data type change of API, for other versions of FortiOS, please check variable `url-category_unitary`.* The structure of `url_category` block is documented below.\n"
        },
        "urlCategoryUnitary": {
          "type": "string",
          "description": "URL categories or groups. *Due to the data type change of API, for other versions of FortiOS, please check variable `url-category`.*\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyUser:SecuritypolicyUser"
          },
          "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "videofilterProfile": {
          "type": "string",
          "description": "Name of an existing VideoFilter profile.\n"
        },
        "virtualPatchProfile": {
          "type": "string",
          "description": "Name of an existing virtual-patch profile.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP (voipd) profile.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "applicationList",
        "avProfile",
        "casbProfile",
        "cifsProfile",
        "diameterFilterProfile",
        "dlpProfile",
        "dlpSensor",
        "dnsfilterProfile",
        "dstaddr6Negate",
        "dstaddrNegate",
        "emailfilterProfile",
        "enforceDefaultAppPort",
        "fileFilterProfile",
        "icapProfile",
        "internetService",
        "internetService6",
        "internetService6Negate",
        "internetService6Src",
        "internetService6SrcNegate",
        "internetServiceNegate",
        "internetServiceSrc",
        "internetServiceSrcNegate",
        "ipsSensor",
        "ipsVoipFilter",
        "learningMode",
        "logtraffic",
        "logtrafficStart",
        "name",
        "nat46",
        "nat64",
        "policyid",
        "profileGroup",
        "profileProtocolOptions",
        "profileType",
        "schedule",
        "sctpFilterProfile",
        "sendDenyPacket",
        "serviceNegate",
        "srcaddr6Negate",
        "srcaddrNegate",
        "sshFilterProfile",
        "sslSshProfile",
        "status",
        "urlCategoryUnitary",
        "uuid",
        "vdomparam",
        "videofilterProfile",
        "virtualPatchProfile",
        "voipProfile",
        "webfilterProfile"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Policy action (accept/deny). Valid values: `accept`, `deny`.\n"
        },
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyAppCategory:SecuritypolicyAppCategory"
          },
          "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
        },
        "appGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyAppGroup:SecuritypolicyAppGroup"
          },
          "description": "Application group names. The structure of `app_group` block is documented below.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing Application list.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyApplication:SecuritypolicyApplication"
          },
          "description": "Application ID list. The structure of `application` block is documented below.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing Antivirus profile.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "Name of an existing CASB profile.\n"
        },
        "cifsProfile": {
          "type": "string",
          "description": "Name of an existing CIFS profile.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "diameterFilterProfile": {
          "type": "string",
          "description": "Name of an existing Diameter filter profile.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "Name of an existing DLP profile.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dnsfilterProfile": {
          "type": "string",
          "description": "Name of an existing DNS filter profile.\n"
        },
        "dstaddr4s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstaddr4:SecuritypolicyDstaddr4"
          },
          "description": "Destination IPv4 address name and address group names. The structure of `dstaddr4` block is documented below.\n"
        },
        "dstaddr6Negate": {
          "type": "string",
          "description": "When enabled dstaddr6 specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstaddr6:SecuritypolicyDstaddr6"
          },
          "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrNegate": {
          "type": "string",
          "description": "When enabled dstaddr/dstaddr6 specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstaddr:SecuritypolicyDstaddr"
          },
          "description": "Destination IPv4 address name and address group names. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstintf:SecuritypolicyDstintf"
          },
          "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "enforceDefaultAppPort": {
          "type": "string",
          "description": "Enable/disable default application port enforcement for allowed applications. Valid values: `enable`, `disable`.\n"
        },
        "fileFilterProfile": {
          "type": "string",
          "description": "Name of an existing file-filter profile.\n"
        },
        "fssoGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyFssoGroup:SecuritypolicyFssoGroup"
          },
          "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyGroup:SecuritypolicyGroup"
          },
          "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
        },
        "icapProfile": {
          "type": "string",
          "description": "Name of an existing ICAP profile.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6": {
          "type": "string",
          "description": "Enable/disable use of IPv6 Internet Services for this policy. If enabled, destination address, service and default application port enforcement are not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6CustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6CustomGroup:SecuritypolicyInternetService6CustomGroup"
          },
          "description": "Custom IPv6 Internet Service group name. The structure of `internet_service6_custom_group` block is documented below.\n"
        },
        "internetService6Customs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6Custom:SecuritypolicyInternetService6Custom"
          },
          "description": "Custom IPv6 Internet Service name. The structure of `internet_service6_custom` block is documented below.\n"
        },
        "internetService6Groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6Group:SecuritypolicyInternetService6Group"
          },
          "description": "Internet Service group name. The structure of `internet_service6_group` block is documented below.\n"
        },
        "internetService6Names": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6Name:SecuritypolicyInternetService6Name"
          },
          "description": "IPv6 Internet Service name. The structure of `internet_service6_name` block is documented below.\n"
        },
        "internetService6Negate": {
          "type": "string",
          "description": "When enabled internet-service6 specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetService6Src": {
          "type": "string",
          "description": "Enable/disable use of IPv6 Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
        },
        "internetService6SrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcCustomGroup:SecuritypolicyInternetService6SrcCustomGroup"
          },
          "description": "Custom Internet Service6 source group name. The structure of `internet_service6_src_custom_group` block is documented below.\n"
        },
        "internetService6SrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcCustom:SecuritypolicyInternetService6SrcCustom"
          },
          "description": "Custom IPv6 Internet Service source name. The structure of `internet_service6_src_custom` block is documented below.\n"
        },
        "internetService6SrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcGroup:SecuritypolicyInternetService6SrcGroup"
          },
          "description": "Internet Service6 source group name. The structure of `internet_service6_src_group` block is documented below.\n"
        },
        "internetService6SrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcName:SecuritypolicyInternetService6SrcName"
          },
          "description": "IPv6 Internet Service source name. The structure of `internet_service6_src_name` block is documented below.\n"
        },
        "internetService6SrcNegate": {
          "type": "string",
          "description": "When enabled internet-service6-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceCustomGroup:SecuritypolicyInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceCustom:SecuritypolicyInternetServiceCustom"
          },
          "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceGroup:SecuritypolicyInternetServiceGroup"
          },
          "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceId:SecuritypolicyInternetServiceId"
          },
          "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceName:SecuritypolicyInternetServiceName"
          },
          "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
        },
        "internetServiceNegate": {
          "type": "string",
          "description": "When enabled internet-service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcCustomGroup:SecuritypolicyInternetServiceSrcCustomGroup"
          },
          "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
        },
        "internetServiceSrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcCustom:SecuritypolicyInternetServiceSrcCustom"
          },
          "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
        },
        "internetServiceSrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcGroup:SecuritypolicyInternetServiceSrcGroup"
          },
          "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
        },
        "internetServiceSrcIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcId:SecuritypolicyInternetServiceSrcId"
          },
          "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcName:SecuritypolicyInternetServiceSrcName"
          },
          "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
        },
        "internetServiceSrcNegate": {
          "type": "string",
          "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "ipsVoipFilter": {
          "type": "string",
          "description": "Name of an existing VoIP (ips) profile.\n"
        },
        "learningMode": {
          "type": "string",
          "description": "Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be generated. Valid values: `enable`, `disable`.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "nat46": {
          "type": "string",
          "description": "Enable/disable NAT46. Valid values: `enable`, `disable`.\n"
        },
        "nat64": {
          "type": "string",
          "description": "Enable/disable NAT64. Valid values: `enable`, `disable`.\n"
        },
        "policyid": {
          "type": "integer",
          "description": "Policy ID.\n",
          "willReplaceOnChanges": true
        },
        "profileGroup": {
          "type": "string",
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "string",
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "sctpFilterProfile": {
          "type": "string",
          "description": "Name of an existing SCTP filter profile.\n"
        },
        "sendDenyPacket": {
          "type": "string",
          "description": "Enable to send a reply when a session is denied or blocked by a firewall policy. Valid values: `disable`, `enable`.\n"
        },
        "serviceNegate": {
          "type": "string",
          "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyService:SecuritypolicyService"
          },
          "description": "Service and service group names. The structure of `service` block is documented below.\n"
        },
        "srcaddr4s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcaddr4:SecuritypolicySrcaddr4"
          },
          "description": "Source IPv4 address name and address group names. The structure of `srcaddr4` block is documented below.\n"
        },
        "srcaddr6Negate": {
          "type": "string",
          "description": "When enabled srcaddr6 specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcaddr6:SecuritypolicySrcaddr6"
          },
          "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrNegate": {
          "type": "string",
          "description": "When enabled srcaddr/srcaddr6 specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcaddr:SecuritypolicySrcaddr"
          },
          "description": "Source IPv4 address name and address group names. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcintf:SecuritypolicySrcintf"
          },
          "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
        },
        "sshFilterProfile": {
          "type": "string",
          "description": "Name of an existing SSH filter profile.\n"
        },
        "sslSshProfile": {
          "type": "string",
          "description": "Name of an existing SSL SSH profile.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
        },
        "urlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyUrlCategory:SecuritypolicyUrlCategory"
          },
          "description": "URL category ID list. *Due to the data type change of API, for other versions of FortiOS, please check variable `url-category_unitary`.* The structure of `url_category` block is documented below.\n"
        },
        "urlCategoryUnitary": {
          "type": "string",
          "description": "URL categories or groups. *Due to the data type change of API, for other versions of FortiOS, please check variable `url-category`.*\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicyUser:SecuritypolicyUser"
          },
          "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "videofilterProfile": {
          "type": "string",
          "description": "Name of an existing VideoFilter profile.\n"
        },
        "virtualPatchProfile": {
          "type": "string",
          "description": "Name of an existing virtual-patch profile.\n"
        },
        "voipProfile": {
          "type": "string",
          "description": "Name of an existing VoIP (voipd) profile.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing Web filter profile.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Securitypolicy resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Policy action (accept/deny). Valid values: `accept`, `deny`.\n"
          },
          "appCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyAppCategory:SecuritypolicyAppCategory"
            },
            "description": "Application category ID list. The structure of `app_category` block is documented below.\n"
          },
          "appGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyAppGroup:SecuritypolicyAppGroup"
            },
            "description": "Application group names. The structure of `app_group` block is documented below.\n"
          },
          "applicationList": {
            "type": "string",
            "description": "Name of an existing Application list.\n"
          },
          "applications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyApplication:SecuritypolicyApplication"
            },
            "description": "Application ID list. The structure of `application` block is documented below.\n"
          },
          "avProfile": {
            "type": "string",
            "description": "Name of an existing Antivirus profile.\n"
          },
          "casbProfile": {
            "type": "string",
            "description": "Name of an existing CASB profile.\n"
          },
          "cifsProfile": {
            "type": "string",
            "description": "Name of an existing CIFS profile.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "diameterFilterProfile": {
            "type": "string",
            "description": "Name of an existing Diameter filter profile.\n"
          },
          "dlpProfile": {
            "type": "string",
            "description": "Name of an existing DLP profile.\n"
          },
          "dlpSensor": {
            "type": "string",
            "description": "Name of an existing DLP sensor.\n"
          },
          "dnsfilterProfile": {
            "type": "string",
            "description": "Name of an existing DNS filter profile.\n"
          },
          "dstaddr4s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstaddr4:SecuritypolicyDstaddr4"
            },
            "description": "Destination IPv4 address name and address group names. The structure of `dstaddr4` block is documented below.\n"
          },
          "dstaddr6Negate": {
            "type": "string",
            "description": "When enabled dstaddr6 specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "dstaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstaddr6:SecuritypolicyDstaddr6"
            },
            "description": "Destination IPv6 address name and address group names. The structure of `dstaddr6` block is documented below.\n"
          },
          "dstaddrNegate": {
            "type": "string",
            "description": "When enabled dstaddr/dstaddr6 specifies what the destination address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstaddr:SecuritypolicyDstaddr"
            },
            "description": "Destination IPv4 address name and address group names. The structure of `dstaddr` block is documented below.\n"
          },
          "dstintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyDstintf:SecuritypolicyDstintf"
            },
            "description": "Outgoing (egress) interface. The structure of `dstintf` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emailfilterProfile": {
            "type": "string",
            "description": "Name of an existing email filter profile.\n"
          },
          "enforceDefaultAppPort": {
            "type": "string",
            "description": "Enable/disable default application port enforcement for allowed applications. Valid values: `enable`, `disable`.\n"
          },
          "fileFilterProfile": {
            "type": "string",
            "description": "Name of an existing file-filter profile.\n"
          },
          "fssoGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyFssoGroup:SecuritypolicyFssoGroup"
            },
            "description": "Names of FSSO groups. The structure of `fsso_groups` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyGroup:SecuritypolicyGroup"
            },
            "description": "Names of user groups that can authenticate with this policy. The structure of `groups` block is documented below.\n"
          },
          "icapProfile": {
            "type": "string",
            "description": "Name of an existing ICAP profile.\n"
          },
          "internetService": {
            "type": "string",
            "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.\n"
          },
          "internetService6": {
            "type": "string",
            "description": "Enable/disable use of IPv6 Internet Services for this policy. If enabled, destination address, service and default application port enforcement are not used. Valid values: `enable`, `disable`.\n"
          },
          "internetService6CustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6CustomGroup:SecuritypolicyInternetService6CustomGroup"
            },
            "description": "Custom IPv6 Internet Service group name. The structure of `internet_service6_custom_group` block is documented below.\n"
          },
          "internetService6Customs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6Custom:SecuritypolicyInternetService6Custom"
            },
            "description": "Custom IPv6 Internet Service name. The structure of `internet_service6_custom` block is documented below.\n"
          },
          "internetService6Groups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6Group:SecuritypolicyInternetService6Group"
            },
            "description": "Internet Service group name. The structure of `internet_service6_group` block is documented below.\n"
          },
          "internetService6Names": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6Name:SecuritypolicyInternetService6Name"
            },
            "description": "IPv6 Internet Service name. The structure of `internet_service6_name` block is documented below.\n"
          },
          "internetService6Negate": {
            "type": "string",
            "description": "When enabled internet-service6 specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "internetService6Src": {
            "type": "string",
            "description": "Enable/disable use of IPv6 Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
          },
          "internetService6SrcCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcCustomGroup:SecuritypolicyInternetService6SrcCustomGroup"
            },
            "description": "Custom Internet Service6 source group name. The structure of `internet_service6_src_custom_group` block is documented below.\n"
          },
          "internetService6SrcCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcCustom:SecuritypolicyInternetService6SrcCustom"
            },
            "description": "Custom IPv6 Internet Service source name. The structure of `internet_service6_src_custom` block is documented below.\n"
          },
          "internetService6SrcGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcGroup:SecuritypolicyInternetService6SrcGroup"
            },
            "description": "Internet Service6 source group name. The structure of `internet_service6_src_group` block is documented below.\n"
          },
          "internetService6SrcNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetService6SrcName:SecuritypolicyInternetService6SrcName"
            },
            "description": "IPv6 Internet Service source name. The structure of `internet_service6_src_name` block is documented below.\n"
          },
          "internetService6SrcNegate": {
            "type": "string",
            "description": "When enabled internet-service6-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "internetServiceCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceCustomGroup:SecuritypolicyInternetServiceCustomGroup"
            },
            "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
          },
          "internetServiceCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceCustom:SecuritypolicyInternetServiceCustom"
            },
            "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
          },
          "internetServiceGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceGroup:SecuritypolicyInternetServiceGroup"
            },
            "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
          },
          "internetServiceIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceId:SecuritypolicyInternetServiceId"
            },
            "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
          },
          "internetServiceNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceName:SecuritypolicyInternetServiceName"
            },
            "description": "Internet Service name. The structure of `internet_service_name` block is documented below.\n"
          },
          "internetServiceNegate": {
            "type": "string",
            "description": "When enabled internet-service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "internetServiceSrc": {
            "type": "string",
            "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.\n"
          },
          "internetServiceSrcCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcCustomGroup:SecuritypolicyInternetServiceSrcCustomGroup"
            },
            "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
          },
          "internetServiceSrcCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcCustom:SecuritypolicyInternetServiceSrcCustom"
            },
            "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
          },
          "internetServiceSrcGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcGroup:SecuritypolicyInternetServiceSrcGroup"
            },
            "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
          },
          "internetServiceSrcIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcId:SecuritypolicyInternetServiceSrcId"
            },
            "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
          },
          "internetServiceSrcNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyInternetServiceSrcName:SecuritypolicyInternetServiceSrcName"
            },
            "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
          },
          "internetServiceSrcNegate": {
            "type": "string",
            "description": "When enabled internet-service-src specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "Name of an existing IPS sensor.\n"
          },
          "ipsVoipFilter": {
            "type": "string",
            "description": "Name of an existing VoIP (ips) profile.\n"
          },
          "learningMode": {
            "type": "string",
            "description": "Enable to allow everything, but log all of the meaningful data for security information gathering. A learning report will be generated. Valid values: `enable`, `disable`.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Enable or disable logging. Log all sessions or security profile sessions. Valid values: `all`, `utm`, `disable`.\n"
          },
          "logtrafficStart": {
            "type": "string",
            "description": "Record logs when a session starts. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "nat46": {
            "type": "string",
            "description": "Enable/disable NAT46. Valid values: `enable`, `disable`.\n"
          },
          "nat64": {
            "type": "string",
            "description": "Enable/disable NAT64. Valid values: `enable`, `disable`.\n"
          },
          "policyid": {
            "type": "integer",
            "description": "Policy ID.\n",
            "willReplaceOnChanges": true
          },
          "profileGroup": {
            "type": "string",
            "description": "Name of profile group.\n"
          },
          "profileProtocolOptions": {
            "type": "string",
            "description": "Name of an existing Protocol options profile.\n"
          },
          "profileType": {
            "type": "string",
            "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Valid values: `single`, `group`.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Schedule name.\n"
          },
          "sctpFilterProfile": {
            "type": "string",
            "description": "Name of an existing SCTP filter profile.\n"
          },
          "sendDenyPacket": {
            "type": "string",
            "description": "Enable to send a reply when a session is denied or blocked by a firewall policy. Valid values: `disable`, `enable`.\n"
          },
          "serviceNegate": {
            "type": "string",
            "description": "When enabled service specifies what the service must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyService:SecuritypolicyService"
            },
            "description": "Service and service group names. The structure of `service` block is documented below.\n"
          },
          "srcaddr4s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcaddr4:SecuritypolicySrcaddr4"
            },
            "description": "Source IPv4 address name and address group names. The structure of `srcaddr4` block is documented below.\n"
          },
          "srcaddr6Negate": {
            "type": "string",
            "description": "When enabled srcaddr6 specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "srcaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcaddr6:SecuritypolicySrcaddr6"
            },
            "description": "Source IPv6 address name and address group names. The structure of `srcaddr6` block is documented below.\n"
          },
          "srcaddrNegate": {
            "type": "string",
            "description": "When enabled srcaddr/srcaddr6 specifies what the source address must NOT be. Valid values: `enable`, `disable`.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcaddr:SecuritypolicySrcaddr"
            },
            "description": "Source IPv4 address name and address group names. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicySrcintf:SecuritypolicySrcintf"
            },
            "description": "Incoming (ingress) interface. The structure of `srcintf` block is documented below.\n"
          },
          "sshFilterProfile": {
            "type": "string",
            "description": "Name of an existing SSH filter profile.\n"
          },
          "sslSshProfile": {
            "type": "string",
            "description": "Name of an existing SSL SSH profile.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable or disable this policy. Valid values: `enable`, `disable`.\n"
          },
          "urlCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyUrlCategory:SecuritypolicyUrlCategory"
            },
            "description": "URL category ID list. *Due to the data type change of API, for other versions of FortiOS, please check variable `url-category_unitary`.* The structure of `url_category` block is documented below.\n"
          },
          "urlCategoryUnitary": {
            "type": "string",
            "description": "URL categories or groups. *Due to the data type change of API, for other versions of FortiOS, please check variable `url-category`.*\n"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicyUser:SecuritypolicyUser"
            },
            "description": "Names of individual users that can authenticate with this policy. The structure of `users` block is documented below.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "videofilterProfile": {
            "type": "string",
            "description": "Name of an existing VideoFilter profile.\n"
          },
          "virtualPatchProfile": {
            "type": "string",
            "description": "Name of an existing virtual-patch profile.\n"
          },
          "voipProfile": {
            "type": "string",
            "description": "Name of an existing VoIP (voipd) profile.\n"
          },
          "webfilterProfile": {
            "type": "string",
            "description": "Name of an existing Web filter profile.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/securitypolicyMove:SecuritypolicyMove": {
      "properties": {
        "comment": {
          "type": "string"
        },
        "move": {
          "type": "string"
        },
        "policyidDst": {
          "type": "integer"
        },
        "policyidSrc": {
          "type": "integer"
        },
        "statePolicySrcdstPos": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "move",
        "policyidDst",
        "policyidSrc"
      ],
      "inputProperties": {
        "comment": {
          "type": "string"
        },
        "move": {
          "type": "string"
        },
        "policyidDst": {
          "type": "integer"
        },
        "policyidSrc": {
          "type": "integer"
        },
        "statePolicySrcdstPos": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "move",
        "policyidDst",
        "policyidSrc"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SecuritypolicyMove resources.\n",
        "properties": {
          "comment": {
            "type": "string"
          },
          "move": {
            "type": "string"
          },
          "policyidDst": {
            "type": "integer"
          },
          "policyidSrc": {
            "type": "integer"
          },
          "statePolicySrcdstPos": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/securitypolicySort:SecuritypolicySort": {
      "properties": {
        "comment": {
          "type": "string"
        },
        "forceRecreate": {
          "type": "string"
        },
        "manualOrders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sortby": {
          "type": "string"
        },
        "sortdirection": {
          "type": "string"
        },
        "statePolicyLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSecuritypolicySortStatePolicyList:SecuritypolicySortStatePolicyList"
          }
        },
        "status": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "forceRecreate",
        "manualOrders",
        "sortby",
        "sortdirection",
        "statePolicyLists",
        "status"
      ],
      "inputProperties": {
        "comment": {
          "type": "string"
        },
        "forceRecreate": {
          "type": "string"
        },
        "manualOrders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sortby": {
          "type": "string"
        },
        "sortdirection": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "sortby",
        "sortdirection"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SecuritypolicySort resources.\n",
        "properties": {
          "comment": {
            "type": "string"
          },
          "forceRecreate": {
            "type": "string"
          },
          "manualOrders": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sortby": {
            "type": "string"
          },
          "sortdirection": {
            "type": "string"
          },
          "statePolicyLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSecuritypolicySortStatePolicyList:SecuritypolicySortStatePolicyList"
            }
          },
          "status": {
            "type": "string"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/service/category:Category": {
      "description": "Configure service categories.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.service.Category(\"trname\", {});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.service.Category(\"trname\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Service.Category(\"trname\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewCategory(ctx, \"trname\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Category;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Category(\"trname\");\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/service:Category\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallService Category can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/service/category:Category labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/service/category:Category labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Service category name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fabricObject",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Service category name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Category resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Service category name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/service/custom:Custom": {
      "description": "Configure custom services.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.service.Custom(\"trname\", {\n    appServiceType: \"disable\",\n    category: \"General\",\n    checkResetRange: \"default\",\n    color: 0,\n    helper: \"auto\",\n    iprange: \"0.0.0.0\",\n    protocol: \"TCP/UDP/SCTP\",\n    protocolNumber: 6,\n    proxy: \"disable\",\n    tcpHalfcloseTimer: 0,\n    tcpHalfopenTimer: 0,\n    tcpPortrange: \"223-332\",\n    tcpTimewaitTimer: 0,\n    udpIdleTimer: 0,\n    visibility: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.service.Custom(\"trname\",\n    app_service_type=\"disable\",\n    category=\"General\",\n    check_reset_range=\"default\",\n    color=0,\n    helper=\"auto\",\n    iprange=\"0.0.0.0\",\n    protocol=\"TCP/UDP/SCTP\",\n    protocol_number=6,\n    proxy=\"disable\",\n    tcp_halfclose_timer=0,\n    tcp_halfopen_timer=0,\n    tcp_portrange=\"223-332\",\n    tcp_timewait_timer=0,\n    udp_idle_timer=0,\n    visibility=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Service.Custom(\"trname\", new()\n    {\n        AppServiceType = \"disable\",\n        Category = \"General\",\n        CheckResetRange = \"default\",\n        Color = 0,\n        Helper = \"auto\",\n        Iprange = \"0.0.0.0\",\n        Protocol = \"TCP/UDP/SCTP\",\n        ProtocolNumber = 6,\n        Proxy = \"disable\",\n        TcpHalfcloseTimer = 0,\n        TcpHalfopenTimer = 0,\n        TcpPortrange = \"223-332\",\n        TcpTimewaitTimer = 0,\n        UdpIdleTimer = 0,\n        Visibility = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewCustom(ctx, \"trname\", &firewall.CustomArgs{\n\t\t\tAppServiceType:    pulumi.String(\"disable\"),\n\t\t\tCategory:          pulumi.String(\"General\"),\n\t\t\tCheckResetRange:   pulumi.String(\"default\"),\n\t\t\tColor:             pulumi.Int(0),\n\t\t\tHelper:            pulumi.String(\"auto\"),\n\t\t\tIprange:           pulumi.String(\"0.0.0.0\"),\n\t\t\tProtocol:          pulumi.String(\"TCP/UDP/SCTP\"),\n\t\t\tProtocolNumber:    pulumi.Int(6),\n\t\t\tProxy:             pulumi.String(\"disable\"),\n\t\t\tTcpHalfcloseTimer: pulumi.Int(0),\n\t\t\tTcpHalfopenTimer:  pulumi.Int(0),\n\t\t\tTcpPortrange:      pulumi.String(\"223-332\"),\n\t\t\tTcpTimewaitTimer:  pulumi.Int(0),\n\t\t\tUdpIdleTimer:      pulumi.Int(0),\n\t\t\tVisibility:        pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Custom;\nimport com.pulumi.fortios.firewall.CustomArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Custom(\"trname\", CustomArgs.builder()\n            .appServiceType(\"disable\")\n            .category(\"General\")\n            .checkResetRange(\"default\")\n            .color(0)\n            .helper(\"auto\")\n            .iprange(\"0.0.0.0\")\n            .protocol(\"TCP/UDP/SCTP\")\n            .protocolNumber(6)\n            .proxy(\"disable\")\n            .tcpHalfcloseTimer(0)\n            .tcpHalfopenTimer(0)\n            .tcpPortrange(\"223-332\")\n            .tcpTimewaitTimer(0)\n            .udpIdleTimer(0)\n            .visibility(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/service:Custom\n    properties:\n      appServiceType: disable\n      category: General\n      checkResetRange: default\n      color: 0\n      helper: auto\n      iprange: 0.0.0.0\n      protocol: TCP/UDP/SCTP\n      protocolNumber: 6\n      proxy: disable\n      tcpHalfcloseTimer: 0\n      tcpHalfopenTimer: 0\n      tcpPortrange: 223-332\n      tcpTimewaitTimer: 0\n      udpIdleTimer: 0\n      visibility: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallService Custom can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/service/custom:Custom labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/service/custom:Custom labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fservice%2FCustomAppCategory:CustomAppCategory"
          },
          "description": "Application category ID. The structure of `app_category` block is documented below.\n"
        },
        "appServiceType": {
          "type": "string",
          "description": "Application service type. Valid values: `disable`, `app-id`, `app-category`.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fservice%2FCustomApplication:CustomApplication"
          },
          "description": "Application ID. The structure of `application` block is documented below.\n"
        },
        "category": {
          "type": "string",
          "description": "Service category.\n"
        },
        "checkResetRange": {
          "type": "string",
          "description": "Configure the type of ICMP error message verification. Valid values: `disable`, `strict`, `default`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully qualified domain name.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "helper": {
          "type": "string",
          "description": "Helper name.\n"
        },
        "icmpcode": {
          "type": "integer",
          "description": "ICMP code.\n"
        },
        "icmptype": {
          "type": "integer",
          "description": "ICMP type.\n"
        },
        "iprange": {
          "type": "string",
          "description": "Start and end of the IP range associated with service.\n"
        },
        "name": {
          "type": "string",
          "description": "Custom service name.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol type based on IANA numbers. Valid values: `TCP/UDP/SCTP`, `ICMP`, `ICMP6`, `IP`, `HTTP`, `FTP`, `CONNECT`, `SOCKS-TCP`, `SOCKS-UDP`, `ALL`.\n"
        },
        "protocolNumber": {
          "type": "integer",
          "description": "IP protocol number.\n"
        },
        "proxy": {
          "type": "string",
          "description": "Enable/disable web proxy service. Valid values: `enable`, `disable`.\n"
        },
        "sctpPortrange": {
          "type": "string",
          "description": "Multiple SCTP port ranges.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "Session TTL (300 - 604800, 0 = default).\n"
        },
        "tcpHalfcloseTimer": {
          "type": "integer",
          "description": "Wait time to close a TCP session waiting for an unanswered FIN packet (1 - 86400 sec, 0 = default).\n"
        },
        "tcpHalfopenTimer": {
          "type": "integer",
          "description": "Wait time to close a TCP session waiting for an unanswered open session packet (1 - 86400 sec, 0 = default).\n"
        },
        "tcpPortrange": {
          "type": "string",
          "description": "Multiple TCP port ranges.\n"
        },
        "tcpRstTimer": {
          "type": "integer",
          "description": "Set the length of the TCP CLOSE state in seconds (5 - 300 sec, 0 = default).\n"
        },
        "tcpTimewaitTimer": {
          "type": "integer",
          "description": "Set the length of the TCP TIME-WAIT state in seconds (1 - 300 sec, 0 = default).\n"
        },
        "udpIdleTimer": {
          "type": "integer",
          "description": "Number of seconds before an idle UDP connection times out (0 - 86400 sec, 0 = default).\n"
        },
        "udpPortrange": {
          "type": "string",
          "description": "Multiple UDP port ranges.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable the visibility of the service on the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "appServiceType",
        "category",
        "checkResetRange",
        "color",
        "fabricObject",
        "fqdn",
        "helper",
        "icmpcode",
        "icmptype",
        "iprange",
        "name",
        "protocol",
        "protocolNumber",
        "proxy",
        "sctpPortrange",
        "sessionTtl",
        "tcpHalfcloseTimer",
        "tcpHalfopenTimer",
        "tcpPortrange",
        "tcpRstTimer",
        "tcpTimewaitTimer",
        "udpIdleTimer",
        "udpPortrange",
        "uuid",
        "vdomparam",
        "visibility"
      ],
      "inputProperties": {
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fservice%2FCustomAppCategory:CustomAppCategory"
          },
          "description": "Application category ID. The structure of `app_category` block is documented below.\n"
        },
        "appServiceType": {
          "type": "string",
          "description": "Application service type. Valid values: `disable`, `app-id`, `app-category`.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fservice%2FCustomApplication:CustomApplication"
          },
          "description": "Application ID. The structure of `application` block is documented below.\n"
        },
        "category": {
          "type": "string",
          "description": "Service category.\n"
        },
        "checkResetRange": {
          "type": "string",
          "description": "Configure the type of ICMP error message verification. Valid values: `disable`, `strict`, `default`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully qualified domain name.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "helper": {
          "type": "string",
          "description": "Helper name.\n"
        },
        "icmpcode": {
          "type": "integer",
          "description": "ICMP code.\n"
        },
        "icmptype": {
          "type": "integer",
          "description": "ICMP type.\n"
        },
        "iprange": {
          "type": "string",
          "description": "Start and end of the IP range associated with service.\n"
        },
        "name": {
          "type": "string",
          "description": "Custom service name.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol type based on IANA numbers. Valid values: `TCP/UDP/SCTP`, `ICMP`, `ICMP6`, `IP`, `HTTP`, `FTP`, `CONNECT`, `SOCKS-TCP`, `SOCKS-UDP`, `ALL`.\n"
        },
        "protocolNumber": {
          "type": "integer",
          "description": "IP protocol number.\n"
        },
        "proxy": {
          "type": "string",
          "description": "Enable/disable web proxy service. Valid values: `enable`, `disable`.\n"
        },
        "sctpPortrange": {
          "type": "string",
          "description": "Multiple SCTP port ranges.\n"
        },
        "sessionTtl": {
          "type": "integer",
          "description": "Session TTL (300 - 604800, 0 = default).\n"
        },
        "tcpHalfcloseTimer": {
          "type": "integer",
          "description": "Wait time to close a TCP session waiting for an unanswered FIN packet (1 - 86400 sec, 0 = default).\n"
        },
        "tcpHalfopenTimer": {
          "type": "integer",
          "description": "Wait time to close a TCP session waiting for an unanswered open session packet (1 - 86400 sec, 0 = default).\n"
        },
        "tcpPortrange": {
          "type": "string",
          "description": "Multiple TCP port ranges.\n"
        },
        "tcpRstTimer": {
          "type": "integer",
          "description": "Set the length of the TCP CLOSE state in seconds (5 - 300 sec, 0 = default).\n"
        },
        "tcpTimewaitTimer": {
          "type": "integer",
          "description": "Set the length of the TCP TIME-WAIT state in seconds (1 - 300 sec, 0 = default).\n"
        },
        "udpIdleTimer": {
          "type": "integer",
          "description": "Number of seconds before an idle UDP connection times out (0 - 86400 sec, 0 = default).\n"
        },
        "udpPortrange": {
          "type": "string",
          "description": "Multiple UDP port ranges.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable the visibility of the service on the GUI. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Custom resources.\n",
        "properties": {
          "appCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fservice%2FCustomAppCategory:CustomAppCategory"
            },
            "description": "Application category ID. The structure of `app_category` block is documented below.\n"
          },
          "appServiceType": {
            "type": "string",
            "description": "Application service type. Valid values: `disable`, `app-id`, `app-category`.\n"
          },
          "applications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fservice%2FCustomApplication:CustomApplication"
            },
            "description": "Application ID. The structure of `application` block is documented below.\n"
          },
          "category": {
            "type": "string",
            "description": "Service category.\n"
          },
          "checkResetRange": {
            "type": "string",
            "description": "Configure the type of ICMP error message verification. Valid values: `disable`, `strict`, `default`.\n"
          },
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "fqdn": {
            "type": "string",
            "description": "Fully qualified domain name.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "helper": {
            "type": "string",
            "description": "Helper name.\n"
          },
          "icmpcode": {
            "type": "integer",
            "description": "ICMP code.\n"
          },
          "icmptype": {
            "type": "integer",
            "description": "ICMP type.\n"
          },
          "iprange": {
            "type": "string",
            "description": "Start and end of the IP range associated with service.\n"
          },
          "name": {
            "type": "string",
            "description": "Custom service name.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol type based on IANA numbers. Valid values: `TCP/UDP/SCTP`, `ICMP`, `ICMP6`, `IP`, `HTTP`, `FTP`, `CONNECT`, `SOCKS-TCP`, `SOCKS-UDP`, `ALL`.\n"
          },
          "protocolNumber": {
            "type": "integer",
            "description": "IP protocol number.\n"
          },
          "proxy": {
            "type": "string",
            "description": "Enable/disable web proxy service. Valid values: `enable`, `disable`.\n"
          },
          "sctpPortrange": {
            "type": "string",
            "description": "Multiple SCTP port ranges.\n"
          },
          "sessionTtl": {
            "type": "integer",
            "description": "Session TTL (300 - 604800, 0 = default).\n"
          },
          "tcpHalfcloseTimer": {
            "type": "integer",
            "description": "Wait time to close a TCP session waiting for an unanswered FIN packet (1 - 86400 sec, 0 = default).\n"
          },
          "tcpHalfopenTimer": {
            "type": "integer",
            "description": "Wait time to close a TCP session waiting for an unanswered open session packet (1 - 86400 sec, 0 = default).\n"
          },
          "tcpPortrange": {
            "type": "string",
            "description": "Multiple TCP port ranges.\n"
          },
          "tcpRstTimer": {
            "type": "integer",
            "description": "Set the length of the TCP CLOSE state in seconds (5 - 300 sec, 0 = default).\n"
          },
          "tcpTimewaitTimer": {
            "type": "integer",
            "description": "Set the length of the TCP TIME-WAIT state in seconds (1 - 300 sec, 0 = default).\n"
          },
          "udpIdleTimer": {
            "type": "integer",
            "description": "Number of seconds before an idle UDP connection times out (0 - 86400 sec, 0 = default).\n"
          },
          "udpPortrange": {
            "type": "string",
            "description": "Multiple UDP port ranges.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable the visibility of the service on the GUI. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/service/group:Group": {
      "description": "Configure service groups.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1 = new fortios.firewall.service.Custom(\"trname1\", {\n    appServiceType: \"disable\",\n    category: \"General\",\n    checkResetRange: \"default\",\n    color: 0,\n    helper: \"auto\",\n    iprange: \"0.0.0.0\",\n    protocol: \"TCP/UDP/SCTP\",\n    protocolNumber: 6,\n    proxy: \"disable\",\n    tcpHalfcloseTimer: 0,\n    tcpHalfopenTimer: 0,\n    tcpPortrange: \"223-332\",\n    tcpTimewaitTimer: 0,\n    udpIdleTimer: 0,\n    visibility: \"enable\",\n});\nconst trname = new fortios.firewall.service.Group(\"trname\", {\n    color: 0,\n    proxy: \"disable\",\n    members: [{\n        name: trname1.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.firewall.service.Custom(\"trname1\",\n    app_service_type=\"disable\",\n    category=\"General\",\n    check_reset_range=\"default\",\n    color=0,\n    helper=\"auto\",\n    iprange=\"0.0.0.0\",\n    protocol=\"TCP/UDP/SCTP\",\n    protocol_number=6,\n    proxy=\"disable\",\n    tcp_halfclose_timer=0,\n    tcp_halfopen_timer=0,\n    tcp_portrange=\"223-332\",\n    tcp_timewait_timer=0,\n    udp_idle_timer=0,\n    visibility=\"enable\")\ntrname = fortios.firewall.service.Group(\"trname\",\n    color=0,\n    proxy=\"disable\",\n    members=[fortios.firewall.service.GroupMemberArgs(\n        name=trname1.name,\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname1 = new Fortios.Firewall.Service.Custom(\"trname1\", new()\n    {\n        AppServiceType = \"disable\",\n        Category = \"General\",\n        CheckResetRange = \"default\",\n        Color = 0,\n        Helper = \"auto\",\n        Iprange = \"0.0.0.0\",\n        Protocol = \"TCP/UDP/SCTP\",\n        ProtocolNumber = 6,\n        Proxy = \"disable\",\n        TcpHalfcloseTimer = 0,\n        TcpHalfopenTimer = 0,\n        TcpPortrange = \"223-332\",\n        TcpTimewaitTimer = 0,\n        UdpIdleTimer = 0,\n        Visibility = \"enable\",\n    });\n\n    var trname = new Fortios.Firewall.Service.Group(\"trname\", new()\n    {\n        Color = 0,\n        Proxy = \"disable\",\n        Members = new[]\n        {\n            new Fortios.Firewall.Service.Inputs.GroupMemberArgs\n            {\n                Name = trname1.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := firewall.NewCustom(ctx, \"trname1\", &firewall.CustomArgs{\n\t\t\tAppServiceType:    pulumi.String(\"disable\"),\n\t\t\tCategory:          pulumi.String(\"General\"),\n\t\t\tCheckResetRange:   pulumi.String(\"default\"),\n\t\t\tColor:             pulumi.Int(0),\n\t\t\tHelper:            pulumi.String(\"auto\"),\n\t\t\tIprange:           pulumi.String(\"0.0.0.0\"),\n\t\t\tProtocol:          pulumi.String(\"TCP/UDP/SCTP\"),\n\t\t\tProtocolNumber:    pulumi.Int(6),\n\t\t\tProxy:             pulumi.String(\"disable\"),\n\t\t\tTcpHalfcloseTimer: pulumi.Int(0),\n\t\t\tTcpHalfopenTimer:  pulumi.Int(0),\n\t\t\tTcpPortrange:      pulumi.String(\"223-332\"),\n\t\t\tTcpTimewaitTimer:  pulumi.Int(0),\n\t\t\tUdpIdleTimer:      pulumi.Int(0),\n\t\t\tVisibility:        pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewGroup(ctx, \"trname\", &firewall.GroupArgs{\n\t\t\tColor: pulumi.Int(0),\n\t\t\tProxy: pulumi.String(\"disable\"),\n\t\t\tMembers: service.GroupMemberArray{\n\t\t\t\t&service.GroupMemberArgs{\n\t\t\t\t\tName: trname1.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Custom;\nimport com.pulumi.fortios.firewall.CustomArgs;\nimport com.pulumi.fortios.firewall.Group;\nimport com.pulumi.fortios.firewall.GroupArgs;\nimport com.pulumi.fortios.firewall.inputs.GroupMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname1 = new Custom(\"trname1\", CustomArgs.builder()\n            .appServiceType(\"disable\")\n            .category(\"General\")\n            .checkResetRange(\"default\")\n            .color(0)\n            .helper(\"auto\")\n            .iprange(\"0.0.0.0\")\n            .protocol(\"TCP/UDP/SCTP\")\n            .protocolNumber(6)\n            .proxy(\"disable\")\n            .tcpHalfcloseTimer(0)\n            .tcpHalfopenTimer(0)\n            .tcpPortrange(\"223-332\")\n            .tcpTimewaitTimer(0)\n            .udpIdleTimer(0)\n            .visibility(\"enable\")\n            .build());\n\n        var trname = new Group(\"trname\", GroupArgs.builder()\n            .color(0)\n            .proxy(\"disable\")\n            .members(GroupMemberArgs.builder()\n                .name(trname1.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:firewall/service:Custom\n    properties:\n      appServiceType: disable\n      category: General\n      checkResetRange: default\n      color: 0\n      helper: auto\n      iprange: 0.0.0.0\n      protocol: TCP/UDP/SCTP\n      protocolNumber: 6\n      proxy: disable\n      tcpHalfcloseTimer: 0\n      tcpHalfopenTimer: 0\n      tcpPortrange: 223-332\n      tcpTimewaitTimer: 0\n      udpIdleTimer: 0\n      visibility: enable\n  trname:\n    type: fortios:firewall/service:Group\n    properties:\n      color: 0\n      proxy: disable\n      members:\n        - name: ${trname1.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallService Group can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/service/group:Group labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/service/group:Group labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fservice%2FGroupMember:GroupMember"
          },
          "description": "Service objects contained within the group. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address group name.\n"
        },
        "proxy": {
          "type": "string",
          "description": "Enable/disable web proxy service group. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "fabricObject",
        "name",
        "proxy",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fabricObject": {
          "type": "string",
          "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fservice%2FGroupMember:GroupMember"
          },
          "description": "Service objects contained within the group. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address group name.\n"
        },
        "proxy": {
          "type": "string",
          "description": "Enable/disable web proxy service group. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Group resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fabricObject": {
            "type": "string",
            "description": "Security Fabric global object setting. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fservice%2FGroupMember:GroupMember"
            },
            "description": "Service objects contained within the group. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Address group name.\n"
          },
          "proxy": {
            "type": "string",
            "description": "Enable/disable web proxy service group. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/shaper/peripshaper:Peripshaper": {
      "description": "Configure per-IP traffic shaper.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.shaper.Peripshaper(\"trname\", {\n    bandwidthUnit: \"kbps\",\n    diffservForward: \"disable\",\n    diffservReverse: \"disable\",\n    diffservcodeForward: \"000000\",\n    diffservcodeRev: \"000000\",\n    maxBandwidth: 1024,\n    maxConcurrentSession: 33,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.shaper.Peripshaper(\"trname\",\n    bandwidth_unit=\"kbps\",\n    diffserv_forward=\"disable\",\n    diffserv_reverse=\"disable\",\n    diffservcode_forward=\"000000\",\n    diffservcode_rev=\"000000\",\n    max_bandwidth=1024,\n    max_concurrent_session=33)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Shaper.Peripshaper(\"trname\", new()\n    {\n        BandwidthUnit = \"kbps\",\n        DiffservForward = \"disable\",\n        DiffservReverse = \"disable\",\n        DiffservcodeForward = \"000000\",\n        DiffservcodeRev = \"000000\",\n        MaxBandwidth = 1024,\n        MaxConcurrentSession = 33,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewPeripshaper(ctx, \"trname\", &firewall.PeripshaperArgs{\n\t\t\tBandwidthUnit:        pulumi.String(\"kbps\"),\n\t\t\tDiffservForward:      pulumi.String(\"disable\"),\n\t\t\tDiffservReverse:      pulumi.String(\"disable\"),\n\t\t\tDiffservcodeForward:  pulumi.String(\"000000\"),\n\t\t\tDiffservcodeRev:      pulumi.String(\"000000\"),\n\t\t\tMaxBandwidth:         pulumi.Int(1024),\n\t\t\tMaxConcurrentSession: pulumi.Int(33),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Peripshaper;\nimport com.pulumi.fortios.firewall.PeripshaperArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Peripshaper(\"trname\", PeripshaperArgs.builder()\n            .bandwidthUnit(\"kbps\")\n            .diffservForward(\"disable\")\n            .diffservReverse(\"disable\")\n            .diffservcodeForward(\"000000\")\n            .diffservcodeRev(\"000000\")\n            .maxBandwidth(1024)\n            .maxConcurrentSession(33)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/shaper:Peripshaper\n    properties:\n      bandwidthUnit: kbps\n      diffservForward: disable\n      diffservReverse: disable\n      diffservcodeForward: '000000'\n      diffservcodeRev: '000000'\n      maxBandwidth: 1024\n      maxConcurrentSession: 33\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallShaper PerIpShaper can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/shaper/peripshaper:Peripshaper labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/shaper/peripshaper:Peripshaper labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bandwidthUnit": {
          "type": "string",
          "description": "Unit of measurement for maximum bandwidth for this shaper (Kbps, Mbps or Gbps). Valid values: `kbps`, `mbps`, `gbps`.\n"
        },
        "diffservForward": {
          "type": "string",
          "description": "Enable/disable changing the Forward (original) DiffServ setting applied to traffic accepted by this shaper. Valid values: `enable`, `disable`.\n"
        },
        "diffservReverse": {
          "type": "string",
          "description": "Enable/disable changing the Reverse (reply) DiffServ setting applied to traffic accepted by this shaper. Valid values: `enable`, `disable`.\n"
        },
        "diffservcodeForward": {
          "type": "string",
          "description": "Forward (original) DiffServ setting to be applied to traffic accepted by this shaper.\n"
        },
        "diffservcodeRev": {
          "type": "string",
          "description": "Reverse (reply) DiffServ setting to be applied to traffic accepted by this shaper.\n"
        },
        "maxBandwidth": {
          "type": "integer",
          "description": "Upper bandwidth limit enforced by this shaper. 0 means no limit. Units depend on the bandwidth-unit setting. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000.\n"
        },
        "maxConcurrentSession": {
          "type": "integer",
          "description": "Maximum number of concurrent sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n"
        },
        "maxConcurrentTcpSession": {
          "type": "integer",
          "description": "Maximum number of concurrent TCP sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n"
        },
        "maxConcurrentUdpSession": {
          "type": "integer",
          "description": "Maximum number of concurrent UDP sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n"
        },
        "name": {
          "type": "string",
          "description": "Traffic shaper name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "bandwidthUnit",
        "diffservForward",
        "diffservReverse",
        "diffservcodeForward",
        "diffservcodeRev",
        "maxBandwidth",
        "maxConcurrentSession",
        "maxConcurrentTcpSession",
        "maxConcurrentUdpSession",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "bandwidthUnit": {
          "type": "string",
          "description": "Unit of measurement for maximum bandwidth for this shaper (Kbps, Mbps or Gbps). Valid values: `kbps`, `mbps`, `gbps`.\n"
        },
        "diffservForward": {
          "type": "string",
          "description": "Enable/disable changing the Forward (original) DiffServ setting applied to traffic accepted by this shaper. Valid values: `enable`, `disable`.\n"
        },
        "diffservReverse": {
          "type": "string",
          "description": "Enable/disable changing the Reverse (reply) DiffServ setting applied to traffic accepted by this shaper. Valid values: `enable`, `disable`.\n"
        },
        "diffservcodeForward": {
          "type": "string",
          "description": "Forward (original) DiffServ setting to be applied to traffic accepted by this shaper.\n"
        },
        "diffservcodeRev": {
          "type": "string",
          "description": "Reverse (reply) DiffServ setting to be applied to traffic accepted by this shaper.\n"
        },
        "maxBandwidth": {
          "type": "integer",
          "description": "Upper bandwidth limit enforced by this shaper. 0 means no limit. Units depend on the bandwidth-unit setting. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000.\n"
        },
        "maxConcurrentSession": {
          "type": "integer",
          "description": "Maximum number of concurrent sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n"
        },
        "maxConcurrentTcpSession": {
          "type": "integer",
          "description": "Maximum number of concurrent TCP sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n"
        },
        "maxConcurrentUdpSession": {
          "type": "integer",
          "description": "Maximum number of concurrent UDP sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n"
        },
        "name": {
          "type": "string",
          "description": "Traffic shaper name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Peripshaper resources.\n",
        "properties": {
          "bandwidthUnit": {
            "type": "string",
            "description": "Unit of measurement for maximum bandwidth for this shaper (Kbps, Mbps or Gbps). Valid values: `kbps`, `mbps`, `gbps`.\n"
          },
          "diffservForward": {
            "type": "string",
            "description": "Enable/disable changing the Forward (original) DiffServ setting applied to traffic accepted by this shaper. Valid values: `enable`, `disable`.\n"
          },
          "diffservReverse": {
            "type": "string",
            "description": "Enable/disable changing the Reverse (reply) DiffServ setting applied to traffic accepted by this shaper. Valid values: `enable`, `disable`.\n"
          },
          "diffservcodeForward": {
            "type": "string",
            "description": "Forward (original) DiffServ setting to be applied to traffic accepted by this shaper.\n"
          },
          "diffservcodeRev": {
            "type": "string",
            "description": "Reverse (reply) DiffServ setting to be applied to traffic accepted by this shaper.\n"
          },
          "maxBandwidth": {
            "type": "integer",
            "description": "Upper bandwidth limit enforced by this shaper. 0 means no limit. Units depend on the bandwidth-unit setting. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000.\n"
          },
          "maxConcurrentSession": {
            "type": "integer",
            "description": "Maximum number of concurrent sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n"
          },
          "maxConcurrentTcpSession": {
            "type": "integer",
            "description": "Maximum number of concurrent TCP sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n"
          },
          "maxConcurrentUdpSession": {
            "type": "integer",
            "description": "Maximum number of concurrent UDP sessions allowed by this shaper (0 - 2097000). 0 means no limit.\n"
          },
          "name": {
            "type": "string",
            "description": "Traffic shaper name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/shaper/trafficshaper:Trafficshaper": {
      "description": "Configure shared traffic shaper.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.shaper.Trafficshaper(\"trname\", {\n    bandwidthUnit: \"kbps\",\n    diffserv: \"disable\",\n    diffservcode: \"000000\",\n    guaranteedBandwidth: 0,\n    maximumBandwidth: 1024,\n    perPolicy: \"disable\",\n    priority: \"low\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.shaper.Trafficshaper(\"trname\",\n    bandwidth_unit=\"kbps\",\n    diffserv=\"disable\",\n    diffservcode=\"000000\",\n    guaranteed_bandwidth=0,\n    maximum_bandwidth=1024,\n    per_policy=\"disable\",\n    priority=\"low\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Shaper.Trafficshaper(\"trname\", new()\n    {\n        BandwidthUnit = \"kbps\",\n        Diffserv = \"disable\",\n        Diffservcode = \"000000\",\n        GuaranteedBandwidth = 0,\n        MaximumBandwidth = 1024,\n        PerPolicy = \"disable\",\n        Priority = \"low\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewTrafficshaper(ctx, \"trname\", &firewall.TrafficshaperArgs{\n\t\t\tBandwidthUnit:       pulumi.String(\"kbps\"),\n\t\t\tDiffserv:            pulumi.String(\"disable\"),\n\t\t\tDiffservcode:        pulumi.String(\"000000\"),\n\t\t\tGuaranteedBandwidth: pulumi.Int(0),\n\t\t\tMaximumBandwidth:    pulumi.Int(1024),\n\t\t\tPerPolicy:           pulumi.String(\"disable\"),\n\t\t\tPriority:            pulumi.String(\"low\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Trafficshaper;\nimport com.pulumi.fortios.firewall.TrafficshaperArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Trafficshaper(\"trname\", TrafficshaperArgs.builder()\n            .bandwidthUnit(\"kbps\")\n            .diffserv(\"disable\")\n            .diffservcode(\"000000\")\n            .guaranteedBandwidth(0)\n            .maximumBandwidth(1024)\n            .perPolicy(\"disable\")\n            .priority(\"low\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/shaper:Trafficshaper\n    properties:\n      bandwidthUnit: kbps\n      diffserv: disable\n      diffservcode: '000000'\n      guaranteedBandwidth: 0\n      maximumBandwidth: 1024\n      perPolicy: disable\n      priority: low\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallShaper TrafficShaper can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/shaper/trafficshaper:Trafficshaper labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/shaper/trafficshaper:Trafficshaper labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "bandwidthUnit": {
          "type": "string",
          "description": "Unit of measurement for guaranteed and maximum bandwidth for this shaper (Kbps, Mbps or Gbps). Valid values: `kbps`, `mbps`, `gbps`.\n"
        },
        "cos": {
          "type": "string",
          "description": "VLAN CoS mark.\n"
        },
        "cosMarking": {
          "type": "string",
          "description": "Enable/disable VLAN CoS marking. Valid values: `enable`, `disable`.\n"
        },
        "cosMarkingMethod": {
          "type": "string",
          "description": "Select VLAN CoS marking method. Valid values: `multi-stage`, `static`.\n"
        },
        "diffserv": {
          "type": "string",
          "description": "Enable/disable changing the DiffServ setting applied to traffic accepted by this shaper. Valid values: `enable`, `disable`.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "DiffServ setting to be applied to traffic accepted by this shaper.\n"
        },
        "dscpMarkingMethod": {
          "type": "string",
          "description": "Select DSCP marking method. Valid values: `multi-stage`, `static`.\n"
        },
        "exceedBandwidth": {
          "type": "integer",
          "description": "Exceed bandwidth used for DSCP multi-stage marking. Units depend on the bandwidth-unit setting.\n"
        },
        "exceedClassId": {
          "type": "integer",
          "description": "Class ID for traffic in [guaranteed-bandwidth, maximum-bandwidth].\n"
        },
        "exceedCos": {
          "type": "string",
          "description": "VLAN CoS mark for traffic in [guaranteed-bandwidth, exceed-bandwidth].\n"
        },
        "exceedDscp": {
          "type": "string",
          "description": "DSCP mark for traffic in [guaranteed-bandwidth, exceed-bandwidth].\n"
        },
        "guaranteedBandwidth": {
          "type": "integer",
          "description": "Amount of bandwidth guaranteed for this shaper. Units depend on the bandwidth-unit setting. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000.\n"
        },
        "maximumBandwidth": {
          "type": "integer",
          "description": "Upper bandwidth limit enforced by this shaper. 0 means no limit. Units depend on the bandwidth-unit setting. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000.\n"
        },
        "maximumCos": {
          "type": "string",
          "description": "VLAN CoS mark for traffic in [exceed-bandwidth, maximum-bandwidth].\n"
        },
        "maximumDscp": {
          "type": "string",
          "description": "DSCP mark for traffic in [exceed-bandwidth, maximum-bandwidth].\n"
        },
        "name": {
          "type": "string",
          "description": "Traffic shaper name.\n"
        },
        "overhead": {
          "type": "integer",
          "description": "Per-packet size overhead used in rate computations.\n"
        },
        "perPolicy": {
          "type": "string",
          "description": "Enable/disable applying a separate shaper for each policy. For example, if enabled the guaranteed bandwidth is applied separately for each policy. Valid values: `disable`, `enable`.\n"
        },
        "priority": {
          "type": "string",
          "description": "Higher priority traffic is more likely to be forwarded without delays and without compromising the guaranteed bandwidth. Valid values: `low`, `medium`, `high`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "bandwidthUnit",
        "cos",
        "cosMarking",
        "cosMarkingMethod",
        "diffserv",
        "diffservcode",
        "dscpMarkingMethod",
        "exceedBandwidth",
        "exceedClassId",
        "exceedCos",
        "exceedDscp",
        "guaranteedBandwidth",
        "maximumBandwidth",
        "maximumCos",
        "maximumDscp",
        "name",
        "overhead",
        "perPolicy",
        "priority",
        "vdomparam"
      ],
      "inputProperties": {
        "bandwidthUnit": {
          "type": "string",
          "description": "Unit of measurement for guaranteed and maximum bandwidth for this shaper (Kbps, Mbps or Gbps). Valid values: `kbps`, `mbps`, `gbps`.\n"
        },
        "cos": {
          "type": "string",
          "description": "VLAN CoS mark.\n"
        },
        "cosMarking": {
          "type": "string",
          "description": "Enable/disable VLAN CoS marking. Valid values: `enable`, `disable`.\n"
        },
        "cosMarkingMethod": {
          "type": "string",
          "description": "Select VLAN CoS marking method. Valid values: `multi-stage`, `static`.\n"
        },
        "diffserv": {
          "type": "string",
          "description": "Enable/disable changing the DiffServ setting applied to traffic accepted by this shaper. Valid values: `enable`, `disable`.\n"
        },
        "diffservcode": {
          "type": "string",
          "description": "DiffServ setting to be applied to traffic accepted by this shaper.\n"
        },
        "dscpMarkingMethod": {
          "type": "string",
          "description": "Select DSCP marking method. Valid values: `multi-stage`, `static`.\n"
        },
        "exceedBandwidth": {
          "type": "integer",
          "description": "Exceed bandwidth used for DSCP multi-stage marking. Units depend on the bandwidth-unit setting.\n"
        },
        "exceedClassId": {
          "type": "integer",
          "description": "Class ID for traffic in [guaranteed-bandwidth, maximum-bandwidth].\n"
        },
        "exceedCos": {
          "type": "string",
          "description": "VLAN CoS mark for traffic in [guaranteed-bandwidth, exceed-bandwidth].\n"
        },
        "exceedDscp": {
          "type": "string",
          "description": "DSCP mark for traffic in [guaranteed-bandwidth, exceed-bandwidth].\n"
        },
        "guaranteedBandwidth": {
          "type": "integer",
          "description": "Amount of bandwidth guaranteed for this shaper. Units depend on the bandwidth-unit setting. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000.\n"
        },
        "maximumBandwidth": {
          "type": "integer",
          "description": "Upper bandwidth limit enforced by this shaper. 0 means no limit. Units depend on the bandwidth-unit setting. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000.\n"
        },
        "maximumCos": {
          "type": "string",
          "description": "VLAN CoS mark for traffic in [exceed-bandwidth, maximum-bandwidth].\n"
        },
        "maximumDscp": {
          "type": "string",
          "description": "DSCP mark for traffic in [exceed-bandwidth, maximum-bandwidth].\n"
        },
        "name": {
          "type": "string",
          "description": "Traffic shaper name.\n"
        },
        "overhead": {
          "type": "integer",
          "description": "Per-packet size overhead used in rate computations.\n"
        },
        "perPolicy": {
          "type": "string",
          "description": "Enable/disable applying a separate shaper for each policy. For example, if enabled the guaranteed bandwidth is applied separately for each policy. Valid values: `disable`, `enable`.\n"
        },
        "priority": {
          "type": "string",
          "description": "Higher priority traffic is more likely to be forwarded without delays and without compromising the guaranteed bandwidth. Valid values: `low`, `medium`, `high`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Trafficshaper resources.\n",
        "properties": {
          "bandwidthUnit": {
            "type": "string",
            "description": "Unit of measurement for guaranteed and maximum bandwidth for this shaper (Kbps, Mbps or Gbps). Valid values: `kbps`, `mbps`, `gbps`.\n"
          },
          "cos": {
            "type": "string",
            "description": "VLAN CoS mark.\n"
          },
          "cosMarking": {
            "type": "string",
            "description": "Enable/disable VLAN CoS marking. Valid values: `enable`, `disable`.\n"
          },
          "cosMarkingMethod": {
            "type": "string",
            "description": "Select VLAN CoS marking method. Valid values: `multi-stage`, `static`.\n"
          },
          "diffserv": {
            "type": "string",
            "description": "Enable/disable changing the DiffServ setting applied to traffic accepted by this shaper. Valid values: `enable`, `disable`.\n"
          },
          "diffservcode": {
            "type": "string",
            "description": "DiffServ setting to be applied to traffic accepted by this shaper.\n"
          },
          "dscpMarkingMethod": {
            "type": "string",
            "description": "Select DSCP marking method. Valid values: `multi-stage`, `static`.\n"
          },
          "exceedBandwidth": {
            "type": "integer",
            "description": "Exceed bandwidth used for DSCP multi-stage marking. Units depend on the bandwidth-unit setting.\n"
          },
          "exceedClassId": {
            "type": "integer",
            "description": "Class ID for traffic in [guaranteed-bandwidth, maximum-bandwidth].\n"
          },
          "exceedCos": {
            "type": "string",
            "description": "VLAN CoS mark for traffic in [guaranteed-bandwidth, exceed-bandwidth].\n"
          },
          "exceedDscp": {
            "type": "string",
            "description": "DSCP mark for traffic in [guaranteed-bandwidth, exceed-bandwidth].\n"
          },
          "guaranteedBandwidth": {
            "type": "integer",
            "description": "Amount of bandwidth guaranteed for this shaper. Units depend on the bandwidth-unit setting. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000.\n"
          },
          "maximumBandwidth": {
            "type": "integer",
            "description": "Upper bandwidth limit enforced by this shaper. 0 means no limit. Units depend on the bandwidth-unit setting. On FortiOS versions 6.2.0-6.4.2, 7.0.0-7.0.5, 7.2.0: 0 - 16776000. On FortiOS versions 6.4.10-6.4.15, 7.0.6-7.0.15, >= 7.2.1: 0 - 80000000.\n"
          },
          "maximumCos": {
            "type": "string",
            "description": "VLAN CoS mark for traffic in [exceed-bandwidth, maximum-bandwidth].\n"
          },
          "maximumDscp": {
            "type": "string",
            "description": "DSCP mark for traffic in [exceed-bandwidth, maximum-bandwidth].\n"
          },
          "name": {
            "type": "string",
            "description": "Traffic shaper name.\n"
          },
          "overhead": {
            "type": "integer",
            "description": "Per-packet size overhead used in rate computations.\n"
          },
          "perPolicy": {
            "type": "string",
            "description": "Enable/disable applying a separate shaper for each policy. For example, if enabled the guaranteed bandwidth is applied separately for each policy. Valid values: `disable`, `enable`.\n"
          },
          "priority": {
            "type": "string",
            "description": "Higher priority traffic is more likely to be forwarded without delays and without compromising the guaranteed bandwidth. Valid values: `low`, `medium`, `high`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/shapingpolicy:Shapingpolicy": {
      "description": "Configure shaping policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Shapingpolicy(\"trname\", {\n    classId: 0,\n    diffservForward: \"disable\",\n    diffservReverse: \"disable\",\n    diffservcodeForward: \"000000\",\n    diffservcodeRev: \"000000\",\n    dstaddrs: [{\n        name: \"all\",\n    }],\n    dstintfs: [{\n        name: \"port4\",\n    }],\n    fosid: 1,\n    internetService: \"disable\",\n    internetServiceSrc: \"disable\",\n    ipVersion: \"4\",\n    services: [{\n        name: \"ALL\",\n    }],\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    status: \"enable\",\n    tos: \"0x00\",\n    tosMask: \"0x00\",\n    tosNegate: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Shapingpolicy(\"trname\",\n    class_id=0,\n    diffserv_forward=\"disable\",\n    diffserv_reverse=\"disable\",\n    diffservcode_forward=\"000000\",\n    diffservcode_rev=\"000000\",\n    dstaddrs=[fortios.firewall.ShapingpolicyDstaddrArgs(\n        name=\"all\",\n    )],\n    dstintfs=[fortios.firewall.ShapingpolicyDstintfArgs(\n        name=\"port4\",\n    )],\n    fosid=1,\n    internet_service=\"disable\",\n    internet_service_src=\"disable\",\n    ip_version=\"4\",\n    services=[fortios.firewall.ShapingpolicyServiceArgs(\n        name=\"ALL\",\n    )],\n    srcaddrs=[fortios.firewall.ShapingpolicySrcaddrArgs(\n        name=\"all\",\n    )],\n    status=\"enable\",\n    tos=\"0x00\",\n    tos_mask=\"0x00\",\n    tos_negate=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Shapingpolicy(\"trname\", new()\n    {\n        ClassId = 0,\n        DiffservForward = \"disable\",\n        DiffservReverse = \"disable\",\n        DiffservcodeForward = \"000000\",\n        DiffservcodeRev = \"000000\",\n        Dstaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.ShapingpolicyDstaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Dstintfs = new[]\n        {\n            new Fortios.Firewall.Inputs.ShapingpolicyDstintfArgs\n            {\n                Name = \"port4\",\n            },\n        },\n        Fosid = 1,\n        InternetService = \"disable\",\n        InternetServiceSrc = \"disable\",\n        IpVersion = \"4\",\n        Services = new[]\n        {\n            new Fortios.Firewall.Inputs.ShapingpolicyServiceArgs\n            {\n                Name = \"ALL\",\n            },\n        },\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.ShapingpolicySrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Status = \"enable\",\n        Tos = \"0x00\",\n        TosMask = \"0x00\",\n        TosNegate = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewShapingpolicy(ctx, \"trname\", &firewall.ShapingpolicyArgs{\n\t\t\tClassId:             pulumi.Int(0),\n\t\t\tDiffservForward:     pulumi.String(\"disable\"),\n\t\t\tDiffservReverse:     pulumi.String(\"disable\"),\n\t\t\tDiffservcodeForward: pulumi.String(\"000000\"),\n\t\t\tDiffservcodeRev:     pulumi.String(\"000000\"),\n\t\t\tDstaddrs: firewall.ShapingpolicyDstaddrArray{\n\t\t\t\t&firewall.ShapingpolicyDstaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDstintfs: firewall.ShapingpolicyDstintfArray{\n\t\t\t\t&firewall.ShapingpolicyDstintfArgs{\n\t\t\t\t\tName: pulumi.String(\"port4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFosid:              pulumi.Int(1),\n\t\t\tInternetService:    pulumi.String(\"disable\"),\n\t\t\tInternetServiceSrc: pulumi.String(\"disable\"),\n\t\t\tIpVersion:          pulumi.String(\"4\"),\n\t\t\tServices: firewall.ShapingpolicyServiceArray{\n\t\t\t\t&firewall.ShapingpolicyServiceArgs{\n\t\t\t\t\tName: pulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcaddrs: firewall.ShapingpolicySrcaddrArray{\n\t\t\t\t&firewall.ShapingpolicySrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tStatus:    pulumi.String(\"enable\"),\n\t\t\tTos:       pulumi.String(\"0x00\"),\n\t\t\tTosMask:   pulumi.String(\"0x00\"),\n\t\t\tTosNegate: pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Shapingpolicy;\nimport com.pulumi.fortios.firewall.ShapingpolicyArgs;\nimport com.pulumi.fortios.firewall.inputs.ShapingpolicyDstaddrArgs;\nimport com.pulumi.fortios.firewall.inputs.ShapingpolicyDstintfArgs;\nimport com.pulumi.fortios.firewall.inputs.ShapingpolicyServiceArgs;\nimport com.pulumi.fortios.firewall.inputs.ShapingpolicySrcaddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Shapingpolicy(\"trname\", ShapingpolicyArgs.builder()\n            .classId(0)\n            .diffservForward(\"disable\")\n            .diffservReverse(\"disable\")\n            .diffservcodeForward(\"000000\")\n            .diffservcodeRev(\"000000\")\n            .dstaddrs(ShapingpolicyDstaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .dstintfs(ShapingpolicyDstintfArgs.builder()\n                .name(\"port4\")\n                .build())\n            .fosid(1)\n            .internetService(\"disable\")\n            .internetServiceSrc(\"disable\")\n            .ipVersion(\"4\")\n            .services(ShapingpolicyServiceArgs.builder()\n                .name(\"ALL\")\n                .build())\n            .srcaddrs(ShapingpolicySrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .status(\"enable\")\n            .tos(\"0x00\")\n            .tosMask(\"0x00\")\n            .tosNegate(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Shapingpolicy\n    properties:\n      classId: 0\n      diffservForward: disable\n      diffservReverse: disable\n      diffservcodeForward: '000000'\n      diffservcodeRev: '000000'\n      dstaddrs:\n        - name: all\n      dstintfs:\n        - name: port4\n      fosid: 1\n      internetService: disable\n      internetServiceSrc: disable\n      ipVersion: '4'\n      services:\n        - name: ALL\n      srcaddrs:\n        - name: all\n      status: enable\n      tos: 0x00\n      tosMask: 0x00\n      tosNegate: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall ShapingPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/shapingpolicy:Shapingpolicy labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/shapingpolicy:Shapingpolicy labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyAppCategory:ShapingpolicyAppCategory"
          },
          "description": "IDs of one or more application categories that this shaper applies application control traffic shaping to. The structure of `app_category` block is documented below.\n"
        },
        "appGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyAppGroup:ShapingpolicyAppGroup"
          },
          "description": "One or more application group names. The structure of `app_group` block is documented below.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyApplication:ShapingpolicyApplication"
          },
          "description": "IDs of one or more applications that this shaper applies application control traffic shaping to. The structure of `application` block is documented below.\n"
        },
        "classId": {
          "type": "integer",
          "description": "Traffic class ID.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "cos": {
          "type": "string",
          "description": "VLAN CoS bit pattern.\n"
        },
        "cosMask": {
          "type": "string",
          "description": "VLAN CoS evaluated bits.\n"
        },
        "diffservForward": {
          "type": "string",
          "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
        },
        "diffservReverse": {
          "type": "string",
          "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.\n"
        },
        "diffservcodeForward": {
          "type": "string",
          "description": "Change packet's DiffServ to this value.\n"
        },
        "diffservcodeRev": {
          "type": "string",
          "description": "Change packet's reverse (reply) DiffServ to this value.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyDstaddr6:ShapingpolicyDstaddr6"
          },
          "description": "IPv6 destination address and address group names. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyDstaddr:ShapingpolicyDstaddr"
          },
          "description": "IPv4 destination address and address group names. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyDstintf:ShapingpolicyDstintf"
          },
          "description": "One or more outgoing (egress) interfaces. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Shaping policy ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyGroup:ShapingpolicyGroup"
          },
          "description": "Apply this traffic shaping policy to user groups that have authenticated with the FortiGate. The structure of `groups` block is documented below.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceCustomGroup:ShapingpolicyInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceCustom:ShapingpolicyInternetServiceCustom"
          },
          "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceGroup:ShapingpolicyInternetServiceGroup"
          },
          "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceId:ShapingpolicyInternetServiceId"
          },
          "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceName:ShapingpolicyInternetServiceName"
          },
          "description": "Internet Service ID. The structure of `internet_service_name` block is documented below.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcCustomGroup:ShapingpolicyInternetServiceSrcCustomGroup"
          },
          "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
        },
        "internetServiceSrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcCustom:ShapingpolicyInternetServiceSrcCustom"
          },
          "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
        },
        "internetServiceSrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcGroup:ShapingpolicyInternetServiceSrcGroup"
          },
          "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
        },
        "internetServiceSrcIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcId:ShapingpolicyInternetServiceSrcId"
          },
          "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcName:ShapingpolicyInternetServiceSrcName"
          },
          "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "Apply this traffic shaping policy to IPv4 or IPv6 traffic. Valid values: `4`, `6`.\n"
        },
        "name": {
          "type": "string",
          "description": "Shaping policy name.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper to apply with this policy.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyService:ShapingpolicyService"
          },
          "description": "Service and service group names. The structure of `service` block is documented below.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicySrcaddr6:ShapingpolicySrcaddr6"
          },
          "description": "IPv6 source address and address group names. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicySrcaddr:ShapingpolicySrcaddr"
          },
          "description": "IPv4 source address and address group names. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicySrcintf:ShapingpolicySrcintf"
          },
          "description": "One or more incoming (ingress) interfaces. The structure of `srcintf` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this traffic shaping policy. Valid values: `enable`, `disable`.\n"
        },
        "tos": {
          "type": "string",
          "description": "ToS (Type of Service) value used for comparison.\n"
        },
        "tosMask": {
          "type": "string",
          "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n"
        },
        "tosNegate": {
          "type": "string",
          "description": "Enable negated TOS match. Valid values: `enable`, `disable`.\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper to apply to traffic forwarded by the firewall policy.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Traffic shaper to apply to response traffic received by the firewall policy.\n"
        },
        "trafficType": {
          "type": "string",
          "description": "Traffic type. Valid values: `forwarding`, `local-in`, `local-out`.\n"
        },
        "urlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyUrlCategory:ShapingpolicyUrlCategory"
          },
          "description": "IDs of one or more FortiGuard Web Filtering categories that this shaper applies traffic shaping to. The structure of `url_category` block is documented below.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyUser:ShapingpolicyUser"
          },
          "description": "Apply this traffic shaping policy to individual users that have authenticated with the FortiGate. The structure of `users` block is documented below.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "classId",
        "cos",
        "cosMask",
        "diffservForward",
        "diffservReverse",
        "diffservcodeForward",
        "diffservcodeRev",
        "dstintfs",
        "fosid",
        "internetService",
        "internetServiceSrc",
        "ipVersion",
        "name",
        "perIpShaper",
        "schedule",
        "srcaddrs",
        "status",
        "tos",
        "tosMask",
        "tosNegate",
        "trafficShaper",
        "trafficShaperReverse",
        "trafficType",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "appCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyAppCategory:ShapingpolicyAppCategory"
          },
          "description": "IDs of one or more application categories that this shaper applies application control traffic shaping to. The structure of `app_category` block is documented below.\n"
        },
        "appGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyAppGroup:ShapingpolicyAppGroup"
          },
          "description": "One or more application group names. The structure of `app_group` block is documented below.\n"
        },
        "applications": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyApplication:ShapingpolicyApplication"
          },
          "description": "IDs of one or more applications that this shaper applies application control traffic shaping to. The structure of `application` block is documented below.\n"
        },
        "classId": {
          "type": "integer",
          "description": "Traffic class ID.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "cos": {
          "type": "string",
          "description": "VLAN CoS bit pattern.\n"
        },
        "cosMask": {
          "type": "string",
          "description": "VLAN CoS evaluated bits.\n"
        },
        "diffservForward": {
          "type": "string",
          "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
        },
        "diffservReverse": {
          "type": "string",
          "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.\n"
        },
        "diffservcodeForward": {
          "type": "string",
          "description": "Change packet's DiffServ to this value.\n"
        },
        "diffservcodeRev": {
          "type": "string",
          "description": "Change packet's reverse (reply) DiffServ to this value.\n"
        },
        "dstaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyDstaddr6:ShapingpolicyDstaddr6"
          },
          "description": "IPv6 destination address and address group names. The structure of `dstaddr6` block is documented below.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyDstaddr:ShapingpolicyDstaddr"
          },
          "description": "IPv4 destination address and address group names. The structure of `dstaddr` block is documented below.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyDstintf:ShapingpolicyDstintf"
          },
          "description": "One or more outgoing (egress) interfaces. The structure of `dstintf` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Shaping policy ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyGroup:ShapingpolicyGroup"
          },
          "description": "Apply this traffic shaping policy to user groups that have authenticated with the FortiGate. The structure of `groups` block is documented below.\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetServiceCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceCustomGroup:ShapingpolicyInternetServiceCustomGroup"
          },
          "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
        },
        "internetServiceCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceCustom:ShapingpolicyInternetServiceCustom"
          },
          "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
        },
        "internetServiceGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceGroup:ShapingpolicyInternetServiceGroup"
          },
          "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceId:ShapingpolicyInternetServiceId"
          },
          "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceName:ShapingpolicyInternetServiceName"
          },
          "description": "Internet Service ID. The structure of `internet_service_name` block is documented below.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.  Valid values: `enable`, `disable`.\n"
        },
        "internetServiceSrcCustomGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcCustomGroup:ShapingpolicyInternetServiceSrcCustomGroup"
          },
          "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
        },
        "internetServiceSrcCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcCustom:ShapingpolicyInternetServiceSrcCustom"
          },
          "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
        },
        "internetServiceSrcGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcGroup:ShapingpolicyInternetServiceSrcGroup"
          },
          "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
        },
        "internetServiceSrcIds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcId:ShapingpolicyInternetServiceSrcId"
          },
          "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcName:ShapingpolicyInternetServiceSrcName"
          },
          "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "Apply this traffic shaping policy to IPv4 or IPv6 traffic. Valid values: `4`, `6`.\n"
        },
        "name": {
          "type": "string",
          "description": "Shaping policy name.\n"
        },
        "perIpShaper": {
          "type": "string",
          "description": "Per-IP traffic shaper to apply with this policy.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule name.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyService:ShapingpolicyService"
          },
          "description": "Service and service group names. The structure of `service` block is documented below.\n"
        },
        "srcaddr6s": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicySrcaddr6:ShapingpolicySrcaddr6"
          },
          "description": "IPv6 source address and address group names. The structure of `srcaddr6` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicySrcaddr:ShapingpolicySrcaddr"
          },
          "description": "IPv4 source address and address group names. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicySrcintf:ShapingpolicySrcintf"
          },
          "description": "One or more incoming (ingress) interfaces. The structure of `srcintf` block is documented below.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this traffic shaping policy. Valid values: `enable`, `disable`.\n"
        },
        "tos": {
          "type": "string",
          "description": "ToS (Type of Service) value used for comparison.\n"
        },
        "tosMask": {
          "type": "string",
          "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n"
        },
        "tosNegate": {
          "type": "string",
          "description": "Enable negated TOS match. Valid values: `enable`, `disable`.\n"
        },
        "trafficShaper": {
          "type": "string",
          "description": "Traffic shaper to apply to traffic forwarded by the firewall policy.\n"
        },
        "trafficShaperReverse": {
          "type": "string",
          "description": "Traffic shaper to apply to response traffic received by the firewall policy.\n"
        },
        "trafficType": {
          "type": "string",
          "description": "Traffic type. Valid values: `forwarding`, `local-in`, `local-out`.\n"
        },
        "urlCategories": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyUrlCategory:ShapingpolicyUrlCategory"
          },
          "description": "IDs of one or more FortiGuard Web Filtering categories that this shaper applies traffic shaping to. The structure of `url_category` block is documented below.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingpolicyUser:ShapingpolicyUser"
          },
          "description": "Apply this traffic shaping policy to individual users that have authenticated with the FortiGate. The structure of `users` block is documented below.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "dstintfs",
        "srcaddrs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Shapingpolicy resources.\n",
        "properties": {
          "appCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyAppCategory:ShapingpolicyAppCategory"
            },
            "description": "IDs of one or more application categories that this shaper applies application control traffic shaping to. The structure of `app_category` block is documented below.\n"
          },
          "appGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyAppGroup:ShapingpolicyAppGroup"
            },
            "description": "One or more application group names. The structure of `app_group` block is documented below.\n"
          },
          "applications": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyApplication:ShapingpolicyApplication"
            },
            "description": "IDs of one or more applications that this shaper applies application control traffic shaping to. The structure of `application` block is documented below.\n"
          },
          "classId": {
            "type": "integer",
            "description": "Traffic class ID.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comments.\n"
          },
          "cos": {
            "type": "string",
            "description": "VLAN CoS bit pattern.\n"
          },
          "cosMask": {
            "type": "string",
            "description": "VLAN CoS evaluated bits.\n"
          },
          "diffservForward": {
            "type": "string",
            "description": "Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.\n"
          },
          "diffservReverse": {
            "type": "string",
            "description": "Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.\n"
          },
          "diffservcodeForward": {
            "type": "string",
            "description": "Change packet's DiffServ to this value.\n"
          },
          "diffservcodeRev": {
            "type": "string",
            "description": "Change packet's reverse (reply) DiffServ to this value.\n"
          },
          "dstaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyDstaddr6:ShapingpolicyDstaddr6"
            },
            "description": "IPv6 destination address and address group names. The structure of `dstaddr6` block is documented below.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyDstaddr:ShapingpolicyDstaddr"
            },
            "description": "IPv4 destination address and address group names. The structure of `dstaddr` block is documented below.\n"
          },
          "dstintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyDstintf:ShapingpolicyDstintf"
            },
            "description": "One or more outgoing (egress) interfaces. The structure of `dstintf` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Shaping policy ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyGroup:ShapingpolicyGroup"
            },
            "description": "Apply this traffic shaping policy to user groups that have authenticated with the FortiGate. The structure of `groups` block is documented below.\n"
          },
          "internetService": {
            "type": "string",
            "description": "Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.  Valid values: `enable`, `disable`.\n"
          },
          "internetServiceCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceCustomGroup:ShapingpolicyInternetServiceCustomGroup"
            },
            "description": "Custom Internet Service group name. The structure of `internet_service_custom_group` block is documented below.\n"
          },
          "internetServiceCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceCustom:ShapingpolicyInternetServiceCustom"
            },
            "description": "Custom Internet Service name. The structure of `internet_service_custom` block is documented below.\n"
          },
          "internetServiceGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceGroup:ShapingpolicyInternetServiceGroup"
            },
            "description": "Internet Service group name. The structure of `internet_service_group` block is documented below.\n"
          },
          "internetServiceIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceId:ShapingpolicyInternetServiceId"
            },
            "description": "Internet Service ID. The structure of `internet_service_id` block is documented below.\n"
          },
          "internetServiceNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceName:ShapingpolicyInternetServiceName"
            },
            "description": "Internet Service ID. The structure of `internet_service_name` block is documented below.\n"
          },
          "internetServiceSrc": {
            "type": "string",
            "description": "Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.  Valid values: `enable`, `disable`.\n"
          },
          "internetServiceSrcCustomGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcCustomGroup:ShapingpolicyInternetServiceSrcCustomGroup"
            },
            "description": "Custom Internet Service source group name. The structure of `internet_service_src_custom_group` block is documented below.\n"
          },
          "internetServiceSrcCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcCustom:ShapingpolicyInternetServiceSrcCustom"
            },
            "description": "Custom Internet Service source name. The structure of `internet_service_src_custom` block is documented below.\n"
          },
          "internetServiceSrcGroups": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcGroup:ShapingpolicyInternetServiceSrcGroup"
            },
            "description": "Internet Service source group name. The structure of `internet_service_src_group` block is documented below.\n"
          },
          "internetServiceSrcIds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcId:ShapingpolicyInternetServiceSrcId"
            },
            "description": "Internet Service source ID. The structure of `internet_service_src_id` block is documented below.\n"
          },
          "internetServiceSrcNames": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyInternetServiceSrcName:ShapingpolicyInternetServiceSrcName"
            },
            "description": "Internet Service source name. The structure of `internet_service_src_name` block is documented below.\n"
          },
          "ipVersion": {
            "type": "string",
            "description": "Apply this traffic shaping policy to IPv4 or IPv6 traffic. Valid values: `4`, `6`.\n"
          },
          "name": {
            "type": "string",
            "description": "Shaping policy name.\n"
          },
          "perIpShaper": {
            "type": "string",
            "description": "Per-IP traffic shaper to apply with this policy.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Schedule name.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyService:ShapingpolicyService"
            },
            "description": "Service and service group names. The structure of `service` block is documented below.\n"
          },
          "srcaddr6s": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicySrcaddr6:ShapingpolicySrcaddr6"
            },
            "description": "IPv6 source address and address group names. The structure of `srcaddr6` block is documented below.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicySrcaddr:ShapingpolicySrcaddr"
            },
            "description": "IPv4 source address and address group names. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintfs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicySrcintf:ShapingpolicySrcintf"
            },
            "description": "One or more incoming (ingress) interfaces. The structure of `srcintf` block is documented below.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this traffic shaping policy. Valid values: `enable`, `disable`.\n"
          },
          "tos": {
            "type": "string",
            "description": "ToS (Type of Service) value used for comparison.\n"
          },
          "tosMask": {
            "type": "string",
            "description": "Non-zero bit positions are used for comparison while zero bit positions are ignored.\n"
          },
          "tosNegate": {
            "type": "string",
            "description": "Enable negated TOS match. Valid values: `enable`, `disable`.\n"
          },
          "trafficShaper": {
            "type": "string",
            "description": "Traffic shaper to apply to traffic forwarded by the firewall policy.\n"
          },
          "trafficShaperReverse": {
            "type": "string",
            "description": "Traffic shaper to apply to response traffic received by the firewall policy.\n"
          },
          "trafficType": {
            "type": "string",
            "description": "Traffic type. Valid values: `forwarding`, `local-in`, `local-out`.\n"
          },
          "urlCategories": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyUrlCategory:ShapingpolicyUrlCategory"
            },
            "description": "IDs of one or more FortiGuard Web Filtering categories that this shaper applies traffic shaping to. The structure of `url_category` block is documented below.\n"
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingpolicyUser:ShapingpolicyUser"
            },
            "description": "Apply this traffic shaping policy to individual users that have authenticated with the FortiGate. The structure of `users` block is documented below.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/shapingprofile:Shapingprofile": {
      "description": "Configure shaping profiles.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Shapingprofile(\"trname\", {\n    defaultClassId: 2,\n    profileName: \"shapingprofiles1\",\n    shapingEntries: [{\n        classId: 2,\n        guaranteedBandwidthPercentage: 33,\n        id: 1,\n        maximumBandwidthPercentage: 88,\n        priority: \"high\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Shapingprofile(\"trname\",\n    default_class_id=2,\n    profile_name=\"shapingprofiles1\",\n    shaping_entries=[fortios.firewall.ShapingprofileShapingEntryArgs(\n        class_id=2,\n        guaranteed_bandwidth_percentage=33,\n        id=1,\n        maximum_bandwidth_percentage=88,\n        priority=\"high\",\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Shapingprofile(\"trname\", new()\n    {\n        DefaultClassId = 2,\n        ProfileName = \"shapingprofiles1\",\n        ShapingEntries = new[]\n        {\n            new Fortios.Firewall.Inputs.ShapingprofileShapingEntryArgs\n            {\n                ClassId = 2,\n                GuaranteedBandwidthPercentage = 33,\n                Id = 1,\n                MaximumBandwidthPercentage = 88,\n                Priority = \"high\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewShapingprofile(ctx, \"trname\", &firewall.ShapingprofileArgs{\n\t\t\tDefaultClassId: pulumi.Int(2),\n\t\t\tProfileName:    pulumi.String(\"shapingprofiles1\"),\n\t\t\tShapingEntries: firewall.ShapingprofileShapingEntryArray{\n\t\t\t\t&firewall.ShapingprofileShapingEntryArgs{\n\t\t\t\t\tClassId:                       pulumi.Int(2),\n\t\t\t\t\tGuaranteedBandwidthPercentage: pulumi.Int(33),\n\t\t\t\t\tId:                            pulumi.Int(1),\n\t\t\t\t\tMaximumBandwidthPercentage:    pulumi.Int(88),\n\t\t\t\t\tPriority:                      pulumi.String(\"high\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Shapingprofile;\nimport com.pulumi.fortios.firewall.ShapingprofileArgs;\nimport com.pulumi.fortios.firewall.inputs.ShapingprofileShapingEntryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Shapingprofile(\"trname\", ShapingprofileArgs.builder()\n            .defaultClassId(2)\n            .profileName(\"shapingprofiles1\")\n            .shapingEntries(ShapingprofileShapingEntryArgs.builder()\n                .classId(2)\n                .guaranteedBandwidthPercentage(33)\n                .id(1)\n                .maximumBandwidthPercentage(88)\n                .priority(\"high\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Shapingprofile\n    properties:\n      defaultClassId: 2\n      profileName: shapingprofiles1\n      shapingEntries:\n        - classId: 2\n          guaranteedBandwidthPercentage: 33\n          id: 1\n          maximumBandwidthPercentage: 88\n          priority: high\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall ShapingProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/shapingprofile:Shapingprofile labelname {{profile_name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/shapingprofile:Shapingprofile labelname {{profile_name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "defaultClassId": {
          "type": "integer",
          "description": "Default class ID to handle unclassified packets (including all local traffic).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "profileName": {
          "type": "string",
          "description": "Shaping profile name.\n"
        },
        "shapingEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingprofileShapingEntry:ShapingprofileShapingEntry"
          },
          "description": "Define shaping entries of this shaping profile. The structure of `shaping_entries` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Select shaping profile type: policing / queuing. Valid values: `policing`, `queuing`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "defaultClassId",
        "profileName",
        "type",
        "vdomparam"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "defaultClassId": {
          "type": "integer",
          "description": "Default class ID to handle unclassified packets (including all local traffic).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "profileName": {
          "type": "string",
          "description": "Shaping profile name.\n"
        },
        "shapingEntries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FShapingprofileShapingEntry:ShapingprofileShapingEntry"
          },
          "description": "Define shaping entries of this shaping profile. The structure of `shaping_entries` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "Select shaping profile type: policing / queuing. Valid values: `policing`, `queuing`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "defaultClassId",
        "profileName"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Shapingprofile resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "defaultClassId": {
            "type": "integer",
            "description": "Default class ID to handle unclassified packets (including all local traffic).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "profileName": {
            "type": "string",
            "description": "Shaping profile name.\n"
          },
          "shapingEntries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FShapingprofileShapingEntry:ShapingprofileShapingEntry"
            },
            "description": "Define shaping entries of this shaping profile. The structure of `shaping_entries` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "Select shaping profile type: policing / queuing. Valid values: `policing`, `queuing`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/sniffer:Sniffer": {
      "description": "Configure sniffer.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Sniffer(\"trname\", {\n    applicationListStatus: \"disable\",\n    avProfileStatus: \"disable\",\n    dlpSensorStatus: \"disable\",\n    dsri: \"disable\",\n    fosid: 1,\n    \"interface\": \"port4\",\n    ipsDosStatus: \"disable\",\n    ipsSensorStatus: \"disable\",\n    ipv6: \"disable\",\n    logtraffic: \"utm\",\n    maxPacketCount: 4000,\n    nonIp: \"enable\",\n    scanBotnetConnections: \"disable\",\n    spamfilterProfileStatus: \"disable\",\n    status: \"enable\",\n    webfilterProfileStatus: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Sniffer(\"trname\",\n    application_list_status=\"disable\",\n    av_profile_status=\"disable\",\n    dlp_sensor_status=\"disable\",\n    dsri=\"disable\",\n    fosid=1,\n    interface=\"port4\",\n    ips_dos_status=\"disable\",\n    ips_sensor_status=\"disable\",\n    ipv6=\"disable\",\n    logtraffic=\"utm\",\n    max_packet_count=4000,\n    non_ip=\"enable\",\n    scan_botnet_connections=\"disable\",\n    spamfilter_profile_status=\"disable\",\n    status=\"enable\",\n    webfilter_profile_status=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Sniffer(\"trname\", new()\n    {\n        ApplicationListStatus = \"disable\",\n        AvProfileStatus = \"disable\",\n        DlpSensorStatus = \"disable\",\n        Dsri = \"disable\",\n        Fosid = 1,\n        Interface = \"port4\",\n        IpsDosStatus = \"disable\",\n        IpsSensorStatus = \"disable\",\n        Ipv6 = \"disable\",\n        Logtraffic = \"utm\",\n        MaxPacketCount = 4000,\n        NonIp = \"enable\",\n        ScanBotnetConnections = \"disable\",\n        SpamfilterProfileStatus = \"disable\",\n        Status = \"enable\",\n        WebfilterProfileStatus = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewSniffer(ctx, \"trname\", &firewall.SnifferArgs{\n\t\t\tApplicationListStatus:   pulumi.String(\"disable\"),\n\t\t\tAvProfileStatus:         pulumi.String(\"disable\"),\n\t\t\tDlpSensorStatus:         pulumi.String(\"disable\"),\n\t\t\tDsri:                    pulumi.String(\"disable\"),\n\t\t\tFosid:                   pulumi.Int(1),\n\t\t\tInterface:               pulumi.String(\"port4\"),\n\t\t\tIpsDosStatus:            pulumi.String(\"disable\"),\n\t\t\tIpsSensorStatus:         pulumi.String(\"disable\"),\n\t\t\tIpv6:                    pulumi.String(\"disable\"),\n\t\t\tLogtraffic:              pulumi.String(\"utm\"),\n\t\t\tMaxPacketCount:          pulumi.Int(4000),\n\t\t\tNonIp:                   pulumi.String(\"enable\"),\n\t\t\tScanBotnetConnections:   pulumi.String(\"disable\"),\n\t\t\tSpamfilterProfileStatus: pulumi.String(\"disable\"),\n\t\t\tStatus:                  pulumi.String(\"enable\"),\n\t\t\tWebfilterProfileStatus:  pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Sniffer;\nimport com.pulumi.fortios.firewall.SnifferArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Sniffer(\"trname\", SnifferArgs.builder()\n            .applicationListStatus(\"disable\")\n            .avProfileStatus(\"disable\")\n            .dlpSensorStatus(\"disable\")\n            .dsri(\"disable\")\n            .fosid(1)\n            .interface_(\"port4\")\n            .ipsDosStatus(\"disable\")\n            .ipsSensorStatus(\"disable\")\n            .ipv6(\"disable\")\n            .logtraffic(\"utm\")\n            .maxPacketCount(4000)\n            .nonIp(\"enable\")\n            .scanBotnetConnections(\"disable\")\n            .spamfilterProfileStatus(\"disable\")\n            .status(\"enable\")\n            .webfilterProfileStatus(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Sniffer\n    properties:\n      applicationListStatus: disable\n      avProfileStatus: disable\n      dlpSensorStatus: disable\n      dsri: disable\n      fosid: 1\n      interface: port4\n      ipsDosStatus: disable\n      ipsSensorStatus: disable\n      ipv6: disable\n      logtraffic: utm\n      maxPacketCount: 4000\n      nonIp: enable\n      scanBotnetConnections: disable\n      spamfilterProfileStatus: disable\n      status: enable\n      webfilterProfileStatus: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Sniffer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/sniffer:Sniffer labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/sniffer:Sniffer labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomalies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSnifferAnomaly:SnifferAnomaly"
          },
          "description": "Configuration method to edit Denial of Service (DoS) anomaly settings. The structure of `anomaly` block is documented below.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing application list.\n"
        },
        "applicationListStatus": {
          "type": "string",
          "description": "Enable/disable application control profile. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing antivirus profile.\n"
        },
        "avProfileStatus": {
          "type": "string",
          "description": "Enable/disable antivirus profile. Valid values: `enable`, `disable`.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "Name of an existing CASB profile.\n"
        },
        "casbProfileStatus": {
          "type": "string",
          "description": "Enable/disable CASB profile. Valid values: `enable`, `disable`.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "Name of an existing DLP profile.\n"
        },
        "dlpProfileStatus": {
          "type": "string",
          "description": "Enable/disable DLP profile. Valid values: `enable`, `disable`.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dlpSensorStatus": {
          "type": "string",
          "description": "Enable/disable DLP sensor. Valid values: `enable`, `disable`.\n"
        },
        "dsri": {
          "type": "string",
          "description": "Enable/disable DSRI. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "emailfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable emailfilter. Valid values: `enable`, `disable`.\n"
        },
        "fileFilterProfile": {
          "type": "string",
          "description": "Name of an existing file-filter profile.\n"
        },
        "fileFilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable file filter. Valid values: `enable`, `disable`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Sniffer ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "host": {
          "type": "string",
          "description": "Hosts to filter for in sniffer traffic (Format examples: 1.1.1.1, 2.2.2.0/24, 3.3.3.3/255.255.255.0, 4.4.4.0-4.4.4.240).\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name that traffic sniffing will take place on.\n"
        },
        "ipThreatfeedStatus": {
          "type": "string",
          "description": "Enable/disable IP threat feed. Valid values: `enable`, `disable`.\n"
        },
        "ipThreatfeeds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSnifferIpThreatfeed:SnifferIpThreatfeed"
          },
          "description": "Name of an existing IP threat feed. The structure of `ip_threatfeed` block is documented below.\n"
        },
        "ipsDosStatus": {
          "type": "string",
          "description": "Enable/disable IPS DoS anomaly detection. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "ipsSensorStatus": {
          "type": "string",
          "description": "Enable/disable IPS sensor. Valid values: `enable`, `disable`.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "Enable/disable sniffing IPv6 packets. Valid values: `enable`, `disable`.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Either log all sessions, only sessions that have a security profile applied, or disable all logging for this policy. Valid values: `all`, `utm`, `disable`.\n"
        },
        "maxPacketCount": {
          "type": "integer",
          "description": "Maximum packet count. On FortiOS versions 6.2.0: 1 - 1000000, default = 10000. On FortiOS versions 6.2.4-6.4.2, 7.0.0: 1 - 10000, default = 4000. On FortiOS versions 6.4.10-6.4.15, 7.0.1-7.0.15: 1 - 1000000, default = 4000.\n"
        },
        "nonIp": {
          "type": "string",
          "description": "Enable/disable sniffing non-IP packets. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "string",
          "description": "Ports to sniff (Format examples: 10, :20, 30:40, 50-, 100-200).\n"
        },
        "protocol": {
          "type": "string",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Enable/disable scanning of connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing spam filter profile.\n"
        },
        "spamfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable spam filter. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of the sniffer. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vlan": {
          "type": "string",
          "description": "List of VLANs to sniff.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing web filter profile.\n"
        },
        "webfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable web filter profile. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "applicationList",
        "applicationListStatus",
        "avProfile",
        "avProfileStatus",
        "casbProfile",
        "casbProfileStatus",
        "dlpProfile",
        "dlpProfileStatus",
        "dlpSensor",
        "dlpSensorStatus",
        "dsri",
        "emailfilterProfile",
        "emailfilterProfileStatus",
        "fileFilterProfile",
        "fileFilterProfileStatus",
        "fosid",
        "host",
        "interface",
        "ipThreatfeedStatus",
        "ipsDosStatus",
        "ipsSensor",
        "ipsSensorStatus",
        "ipv6",
        "logtraffic",
        "maxPacketCount",
        "nonIp",
        "port",
        "protocol",
        "scanBotnetConnections",
        "spamfilterProfile",
        "spamfilterProfileStatus",
        "status",
        "uuid",
        "vdomparam",
        "vlan",
        "webfilterProfile",
        "webfilterProfileStatus"
      ],
      "inputProperties": {
        "anomalies": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSnifferAnomaly:SnifferAnomaly"
          },
          "description": "Configuration method to edit Denial of Service (DoS) anomaly settings. The structure of `anomaly` block is documented below.\n"
        },
        "applicationList": {
          "type": "string",
          "description": "Name of an existing application list.\n"
        },
        "applicationListStatus": {
          "type": "string",
          "description": "Enable/disable application control profile. Valid values: `enable`, `disable`.\n"
        },
        "avProfile": {
          "type": "string",
          "description": "Name of an existing antivirus profile.\n"
        },
        "avProfileStatus": {
          "type": "string",
          "description": "Enable/disable antivirus profile. Valid values: `enable`, `disable`.\n"
        },
        "casbProfile": {
          "type": "string",
          "description": "Name of an existing CASB profile.\n"
        },
        "casbProfileStatus": {
          "type": "string",
          "description": "Enable/disable CASB profile. Valid values: `enable`, `disable`.\n"
        },
        "dlpProfile": {
          "type": "string",
          "description": "Name of an existing DLP profile.\n"
        },
        "dlpProfileStatus": {
          "type": "string",
          "description": "Enable/disable DLP profile. Valid values: `enable`, `disable`.\n"
        },
        "dlpSensor": {
          "type": "string",
          "description": "Name of an existing DLP sensor.\n"
        },
        "dlpSensorStatus": {
          "type": "string",
          "description": "Enable/disable DLP sensor. Valid values: `enable`, `disable`.\n"
        },
        "dsri": {
          "type": "string",
          "description": "Enable/disable DSRI. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "emailfilterProfile": {
          "type": "string",
          "description": "Name of an existing email filter profile.\n"
        },
        "emailfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable emailfilter. Valid values: `enable`, `disable`.\n"
        },
        "fileFilterProfile": {
          "type": "string",
          "description": "Name of an existing file-filter profile.\n"
        },
        "fileFilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable file filter. Valid values: `enable`, `disable`.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Sniffer ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "host": {
          "type": "string",
          "description": "Hosts to filter for in sniffer traffic (Format examples: 1.1.1.1, 2.2.2.0/24, 3.3.3.3/255.255.255.0, 4.4.4.0-4.4.4.240).\n"
        },
        "interface": {
          "type": "string",
          "description": "Interface name that traffic sniffing will take place on.\n"
        },
        "ipThreatfeedStatus": {
          "type": "string",
          "description": "Enable/disable IP threat feed. Valid values: `enable`, `disable`.\n"
        },
        "ipThreatfeeds": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSnifferIpThreatfeed:SnifferIpThreatfeed"
          },
          "description": "Name of an existing IP threat feed. The structure of `ip_threatfeed` block is documented below.\n"
        },
        "ipsDosStatus": {
          "type": "string",
          "description": "Enable/disable IPS DoS anomaly detection. Valid values: `enable`, `disable`.\n"
        },
        "ipsSensor": {
          "type": "string",
          "description": "Name of an existing IPS sensor.\n"
        },
        "ipsSensorStatus": {
          "type": "string",
          "description": "Enable/disable IPS sensor. Valid values: `enable`, `disable`.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "Enable/disable sniffing IPv6 packets. Valid values: `enable`, `disable`.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Either log all sessions, only sessions that have a security profile applied, or disable all logging for this policy. Valid values: `all`, `utm`, `disable`.\n"
        },
        "maxPacketCount": {
          "type": "integer",
          "description": "Maximum packet count. On FortiOS versions 6.2.0: 1 - 1000000, default = 10000. On FortiOS versions 6.2.4-6.4.2, 7.0.0: 1 - 10000, default = 4000. On FortiOS versions 6.4.10-6.4.15, 7.0.1-7.0.15: 1 - 1000000, default = 4000.\n"
        },
        "nonIp": {
          "type": "string",
          "description": "Enable/disable sniffing non-IP packets. Valid values: `enable`, `disable`.\n"
        },
        "port": {
          "type": "string",
          "description": "Ports to sniff (Format examples: 10, :20, 30:40, 50-, 100-200).\n"
        },
        "protocol": {
          "type": "string",
          "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Enable/disable scanning of connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "spamfilterProfile": {
          "type": "string",
          "description": "Name of an existing spam filter profile.\n"
        },
        "spamfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable spam filter. Valid values: `enable`, `disable`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the active status of the sniffer. Valid values: `enable`, `disable`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vlan": {
          "type": "string",
          "description": "List of VLANs to sniff.\n"
        },
        "webfilterProfile": {
          "type": "string",
          "description": "Name of an existing web filter profile.\n"
        },
        "webfilterProfileStatus": {
          "type": "string",
          "description": "Enable/disable web filter profile. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "interface"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sniffer resources.\n",
        "properties": {
          "anomalies": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSnifferAnomaly:SnifferAnomaly"
            },
            "description": "Configuration method to edit Denial of Service (DoS) anomaly settings. The structure of `anomaly` block is documented below.\n"
          },
          "applicationList": {
            "type": "string",
            "description": "Name of an existing application list.\n"
          },
          "applicationListStatus": {
            "type": "string",
            "description": "Enable/disable application control profile. Valid values: `enable`, `disable`.\n"
          },
          "avProfile": {
            "type": "string",
            "description": "Name of an existing antivirus profile.\n"
          },
          "avProfileStatus": {
            "type": "string",
            "description": "Enable/disable antivirus profile. Valid values: `enable`, `disable`.\n"
          },
          "casbProfile": {
            "type": "string",
            "description": "Name of an existing CASB profile.\n"
          },
          "casbProfileStatus": {
            "type": "string",
            "description": "Enable/disable CASB profile. Valid values: `enable`, `disable`.\n"
          },
          "dlpProfile": {
            "type": "string",
            "description": "Name of an existing DLP profile.\n"
          },
          "dlpProfileStatus": {
            "type": "string",
            "description": "Enable/disable DLP profile. Valid values: `enable`, `disable`.\n"
          },
          "dlpSensor": {
            "type": "string",
            "description": "Name of an existing DLP sensor.\n"
          },
          "dlpSensorStatus": {
            "type": "string",
            "description": "Enable/disable DLP sensor. Valid values: `enable`, `disable`.\n"
          },
          "dsri": {
            "type": "string",
            "description": "Enable/disable DSRI. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "emailfilterProfile": {
            "type": "string",
            "description": "Name of an existing email filter profile.\n"
          },
          "emailfilterProfileStatus": {
            "type": "string",
            "description": "Enable/disable emailfilter. Valid values: `enable`, `disable`.\n"
          },
          "fileFilterProfile": {
            "type": "string",
            "description": "Name of an existing file-filter profile.\n"
          },
          "fileFilterProfileStatus": {
            "type": "string",
            "description": "Enable/disable file filter. Valid values: `enable`, `disable`.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Sniffer ID.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "host": {
            "type": "string",
            "description": "Hosts to filter for in sniffer traffic (Format examples: 1.1.1.1, 2.2.2.0/24, 3.3.3.3/255.255.255.0, 4.4.4.0-4.4.4.240).\n"
          },
          "interface": {
            "type": "string",
            "description": "Interface name that traffic sniffing will take place on.\n"
          },
          "ipThreatfeedStatus": {
            "type": "string",
            "description": "Enable/disable IP threat feed. Valid values: `enable`, `disable`.\n"
          },
          "ipThreatfeeds": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSnifferIpThreatfeed:SnifferIpThreatfeed"
            },
            "description": "Name of an existing IP threat feed. The structure of `ip_threatfeed` block is documented below.\n"
          },
          "ipsDosStatus": {
            "type": "string",
            "description": "Enable/disable IPS DoS anomaly detection. Valid values: `enable`, `disable`.\n"
          },
          "ipsSensor": {
            "type": "string",
            "description": "Name of an existing IPS sensor.\n"
          },
          "ipsSensorStatus": {
            "type": "string",
            "description": "Enable/disable IPS sensor. Valid values: `enable`, `disable`.\n"
          },
          "ipv6": {
            "type": "string",
            "description": "Enable/disable sniffing IPv6 packets. Valid values: `enable`, `disable`.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Either log all sessions, only sessions that have a security profile applied, or disable all logging for this policy. Valid values: `all`, `utm`, `disable`.\n"
          },
          "maxPacketCount": {
            "type": "integer",
            "description": "Maximum packet count. On FortiOS versions 6.2.0: 1 - 1000000, default = 10000. On FortiOS versions 6.2.4-6.4.2, 7.0.0: 1 - 10000, default = 4000. On FortiOS versions 6.4.10-6.4.15, 7.0.1-7.0.15: 1 - 1000000, default = 4000.\n"
          },
          "nonIp": {
            "type": "string",
            "description": "Enable/disable sniffing non-IP packets. Valid values: `enable`, `disable`.\n"
          },
          "port": {
            "type": "string",
            "description": "Ports to sniff (Format examples: 10, :20, 30:40, 50-, 100-200).\n"
          },
          "protocol": {
            "type": "string",
            "description": "Integer value for the protocol type as defined by IANA (0 - 255).\n"
          },
          "scanBotnetConnections": {
            "type": "string",
            "description": "Enable/disable scanning of connections to Botnet servers. Valid values: `disable`, `block`, `monitor`.\n"
          },
          "spamfilterProfile": {
            "type": "string",
            "description": "Name of an existing spam filter profile.\n"
          },
          "spamfilterProfileStatus": {
            "type": "string",
            "description": "Enable/disable spam filter. Valid values: `enable`, `disable`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable the active status of the sniffer. Valid values: `enable`, `disable`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vlan": {
            "type": "string",
            "description": "List of VLANs to sniff.\n"
          },
          "webfilterProfile": {
            "type": "string",
            "description": "Name of an existing web filter profile.\n"
          },
          "webfilterProfileStatus": {
            "type": "string",
            "description": "Enable/disable web filter profile. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ssh/hostkey:Hostkey": {
      "description": "SSH proxy host public keys.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.ssh.Hostkey(\"trname\", {\n    hostname: \"testmachine\",\n    ip: \"1.1.1.1\",\n    port: 22,\n    status: \"trusted\",\n    type: \"RSA\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.ssh.Hostkey(\"trname\",\n    hostname=\"testmachine\",\n    ip=\"1.1.1.1\",\n    port=22,\n    status=\"trusted\",\n    type=\"RSA\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Ssh.Hostkey(\"trname\", new()\n    {\n        Hostname = \"testmachine\",\n        Ip = \"1.1.1.1\",\n        Port = 22,\n        Status = \"trusted\",\n        Type = \"RSA\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewHostkey(ctx, \"trname\", &firewall.HostkeyArgs{\n\t\t\tHostname: pulumi.String(\"testmachine\"),\n\t\t\tIp:       pulumi.String(\"1.1.1.1\"),\n\t\t\tPort:     pulumi.Int(22),\n\t\t\tStatus:   pulumi.String(\"trusted\"),\n\t\t\tType:     pulumi.String(\"RSA\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Hostkey;\nimport com.pulumi.fortios.firewall.HostkeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Hostkey(\"trname\", HostkeyArgs.builder()\n            .hostname(\"testmachine\")\n            .ip(\"1.1.1.1\")\n            .port(22)\n            .status(\"trusted\")\n            .type(\"RSA\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/ssh:Hostkey\n    properties:\n      hostname: testmachine\n      ip: 1.1.1.1\n      port: 22\n      status: trusted\n      type: RSA\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallSsh HostKey can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ssh/hostkey:Hostkey labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ssh/hostkey:Hostkey labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "hostname": {
          "type": "string",
          "description": "Hostname of the SSH server.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address of the SSH server.\n"
        },
        "name": {
          "type": "string",
          "description": "SSH public key name.\n"
        },
        "nid": {
          "type": "string",
          "description": "Set the nid of the ECDSA key. Valid values: `256`, `384`, `521`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port of the SSH server.\n"
        },
        "publicKey": {
          "type": "string",
          "description": "SSH public key.\n",
          "secret": true
        },
        "status": {
          "type": "string",
          "description": "Set the trust status of the public key. Valid values: `trusted`, `revoked`.\n"
        },
        "type": {
          "type": "string",
          "description": "Set the type of the public key. Valid values: `RSA`, `DSA`, `ECDSA`, `ED25519`, `RSA-CA`, `DSA-CA`, `ECDSA-CA`, `ED25519-CA`.\n"
        },
        "usage": {
          "type": "string",
          "description": "Usage for this public key. Valid values: `transparent-proxy`, `access-proxy`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "hostname",
        "ip",
        "name",
        "nid",
        "port",
        "status",
        "type",
        "usage",
        "vdomparam"
      ],
      "inputProperties": {
        "hostname": {
          "type": "string",
          "description": "Hostname of the SSH server.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address of the SSH server.\n"
        },
        "name": {
          "type": "string",
          "description": "SSH public key name.\n"
        },
        "nid": {
          "type": "string",
          "description": "Set the nid of the ECDSA key. Valid values: `256`, `384`, `521`.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port of the SSH server.\n"
        },
        "publicKey": {
          "type": "string",
          "description": "SSH public key.\n",
          "secret": true
        },
        "status": {
          "type": "string",
          "description": "Set the trust status of the public key. Valid values: `trusted`, `revoked`.\n"
        },
        "type": {
          "type": "string",
          "description": "Set the type of the public key. Valid values: `RSA`, `DSA`, `ECDSA`, `ED25519`, `RSA-CA`, `DSA-CA`, `ECDSA-CA`, `ED25519-CA`.\n"
        },
        "usage": {
          "type": "string",
          "description": "Usage for this public key. Valid values: `transparent-proxy`, `access-proxy`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Hostkey resources.\n",
        "properties": {
          "hostname": {
            "type": "string",
            "description": "Hostname of the SSH server.\n"
          },
          "ip": {
            "type": "string",
            "description": "IP address of the SSH server.\n"
          },
          "name": {
            "type": "string",
            "description": "SSH public key name.\n"
          },
          "nid": {
            "type": "string",
            "description": "Set the nid of the ECDSA key. Valid values: `256`, `384`, `521`.\n"
          },
          "port": {
            "type": "integer",
            "description": "Port of the SSH server.\n"
          },
          "publicKey": {
            "type": "string",
            "description": "SSH public key.\n",
            "secret": true
          },
          "status": {
            "type": "string",
            "description": "Set the trust status of the public key. Valid values: `trusted`, `revoked`.\n"
          },
          "type": {
            "type": "string",
            "description": "Set the type of the public key. Valid values: `RSA`, `DSA`, `ECDSA`, `ED25519`, `RSA-CA`, `DSA-CA`, `ECDSA-CA`, `ED25519-CA`.\n"
          },
          "usage": {
            "type": "string",
            "description": "Usage for this public key. Valid values: `transparent-proxy`, `access-proxy`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ssh/localca:Localca": {
      "description": "SSH proxy local CA.\n\n## Import\n\nFirewallSsh LocalCa can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ssh/localca:Localca labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ssh/localca:Localca labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "SSH proxy local CA name.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for SSH private key.\n",
          "secret": true
        },
        "privateKey": {
          "type": "string",
          "description": "SSH proxy private key, encrypted with a password.\n",
          "secret": true
        },
        "publicKey": {
          "type": "string",
          "description": "SSH proxy public key.\n",
          "secret": true
        },
        "source": {
          "type": "string",
          "description": "SSH proxy local CA source type. Valid values: `built-in`, `user`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "privateKey",
        "publicKey",
        "source",
        "vdomparam"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "SSH proxy local CA name.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for SSH private key.\n",
          "secret": true
        },
        "privateKey": {
          "type": "string",
          "description": "SSH proxy private key, encrypted with a password.\n",
          "secret": true
        },
        "publicKey": {
          "type": "string",
          "description": "SSH proxy public key.\n",
          "secret": true
        },
        "source": {
          "type": "string",
          "description": "SSH proxy local CA source type. Valid values: `built-in`, `user`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "privateKey",
        "publicKey"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Localca resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "SSH proxy local CA name.\n"
          },
          "password": {
            "type": "string",
            "description": "Password for SSH private key.\n",
            "secret": true
          },
          "privateKey": {
            "type": "string",
            "description": "SSH proxy private key, encrypted with a password.\n",
            "secret": true
          },
          "publicKey": {
            "type": "string",
            "description": "SSH proxy public key.\n",
            "secret": true
          },
          "source": {
            "type": "string",
            "description": "SSH proxy local CA source type. Valid values: `built-in`, `user`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ssh/localkey:Localkey": {
      "description": "SSH proxy local keys.\n\n## Import\n\nFirewallSsh LocalKey can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ssh/localkey:Localkey labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ssh/localkey:Localkey labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "SSH proxy local key name.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for SSH private key.\n",
          "secret": true
        },
        "privateKey": {
          "type": "string",
          "description": "SSH proxy private key, encrypted with a password.\n",
          "secret": true
        },
        "publicKey": {
          "type": "string",
          "description": "SSH proxy public key.\n",
          "secret": true
        },
        "source": {
          "type": "string",
          "description": "SSH proxy local key source type. Valid values: `built-in`, `user`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "privateKey",
        "publicKey",
        "source",
        "vdomparam"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "SSH proxy local key name.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for SSH private key.\n",
          "secret": true
        },
        "privateKey": {
          "type": "string",
          "description": "SSH proxy private key, encrypted with a password.\n",
          "secret": true
        },
        "publicKey": {
          "type": "string",
          "description": "SSH proxy public key.\n",
          "secret": true
        },
        "source": {
          "type": "string",
          "description": "SSH proxy local key source type. Valid values: `built-in`, `user`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "privateKey",
        "publicKey"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Localkey resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "SSH proxy local key name.\n"
          },
          "password": {
            "type": "string",
            "description": "Password for SSH private key.\n",
            "secret": true
          },
          "privateKey": {
            "type": "string",
            "description": "SSH proxy private key, encrypted with a password.\n",
            "secret": true
          },
          "publicKey": {
            "type": "string",
            "description": "SSH proxy public key.\n",
            "secret": true
          },
          "source": {
            "type": "string",
            "description": "SSH proxy local key source type. Valid values: `built-in`, `user`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ssh/setting:Setting": {
      "description": "SSH proxy settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.ssh.Setting(\"trname\", {\n    caname: \"Fortinet_SSH_CA\",\n    hostTrustedChecking: \"enable\",\n    hostkeyDsa1024: \"Fortinet_SSH_DSA1024\",\n    hostkeyEcdsa256: \"Fortinet_SSH_ECDSA256\",\n    hostkeyEcdsa384: \"Fortinet_SSH_ECDSA384\",\n    hostkeyEcdsa521: \"Fortinet_SSH_ECDSA521\",\n    hostkeyEd25519: \"Fortinet_SSH_ED25519\",\n    hostkeyRsa2048: \"Fortinet_SSH_RSA2048\",\n    untrustedCaname: \"Fortinet_SSH_CA_Untrusted\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.ssh.Setting(\"trname\",\n    caname=\"Fortinet_SSH_CA\",\n    host_trusted_checking=\"enable\",\n    hostkey_dsa1024=\"Fortinet_SSH_DSA1024\",\n    hostkey_ecdsa256=\"Fortinet_SSH_ECDSA256\",\n    hostkey_ecdsa384=\"Fortinet_SSH_ECDSA384\",\n    hostkey_ecdsa521=\"Fortinet_SSH_ECDSA521\",\n    hostkey_ed25519=\"Fortinet_SSH_ED25519\",\n    hostkey_rsa2048=\"Fortinet_SSH_RSA2048\",\n    untrusted_caname=\"Fortinet_SSH_CA_Untrusted\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Ssh.Setting(\"trname\", new()\n    {\n        Caname = \"Fortinet_SSH_CA\",\n        HostTrustedChecking = \"enable\",\n        HostkeyDsa1024 = \"Fortinet_SSH_DSA1024\",\n        HostkeyEcdsa256 = \"Fortinet_SSH_ECDSA256\",\n        HostkeyEcdsa384 = \"Fortinet_SSH_ECDSA384\",\n        HostkeyEcdsa521 = \"Fortinet_SSH_ECDSA521\",\n        HostkeyEd25519 = \"Fortinet_SSH_ED25519\",\n        HostkeyRsa2048 = \"Fortinet_SSH_RSA2048\",\n        UntrustedCaname = \"Fortinet_SSH_CA_Untrusted\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewSetting(ctx, \"trname\", &firewall.SettingArgs{\n\t\t\tCaname:              pulumi.String(\"Fortinet_SSH_CA\"),\n\t\t\tHostTrustedChecking: pulumi.String(\"enable\"),\n\t\t\tHostkeyDsa1024:      pulumi.String(\"Fortinet_SSH_DSA1024\"),\n\t\t\tHostkeyEcdsa256:     pulumi.String(\"Fortinet_SSH_ECDSA256\"),\n\t\t\tHostkeyEcdsa384:     pulumi.String(\"Fortinet_SSH_ECDSA384\"),\n\t\t\tHostkeyEcdsa521:     pulumi.String(\"Fortinet_SSH_ECDSA521\"),\n\t\t\tHostkeyEd25519:      pulumi.String(\"Fortinet_SSH_ED25519\"),\n\t\t\tHostkeyRsa2048:      pulumi.String(\"Fortinet_SSH_RSA2048\"),\n\t\t\tUntrustedCaname:     pulumi.String(\"Fortinet_SSH_CA_Untrusted\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Setting;\nimport com.pulumi.fortios.firewall.SettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Setting(\"trname\", SettingArgs.builder()\n            .caname(\"Fortinet_SSH_CA\")\n            .hostTrustedChecking(\"enable\")\n            .hostkeyDsa1024(\"Fortinet_SSH_DSA1024\")\n            .hostkeyEcdsa256(\"Fortinet_SSH_ECDSA256\")\n            .hostkeyEcdsa384(\"Fortinet_SSH_ECDSA384\")\n            .hostkeyEcdsa521(\"Fortinet_SSH_ECDSA521\")\n            .hostkeyEd25519(\"Fortinet_SSH_ED25519\")\n            .hostkeyRsa2048(\"Fortinet_SSH_RSA2048\")\n            .untrustedCaname(\"Fortinet_SSH_CA_Untrusted\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/ssh:Setting\n    properties:\n      caname: Fortinet_SSH_CA\n      hostTrustedChecking: enable\n      hostkeyDsa1024: Fortinet_SSH_DSA1024\n      hostkeyEcdsa256: Fortinet_SSH_ECDSA256\n      hostkeyEcdsa384: Fortinet_SSH_ECDSA384\n      hostkeyEcdsa521: Fortinet_SSH_ECDSA521\n      hostkeyEd25519: Fortinet_SSH_ED25519\n      hostkeyRsa2048: Fortinet_SSH_RSA2048\n      untrustedCaname: Fortinet_SSH_CA_Untrusted\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallSsh Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ssh/setting:Setting labelname FirewallSshSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ssh/setting:Setting labelname FirewallSshSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "caname": {
          "type": "string",
          "description": "CA certificate used by SSH Inspection.\n"
        },
        "hostTrustedChecking": {
          "type": "string",
          "description": "Enable/disable host trusted checking. Valid values: `enable`, `disable`.\n"
        },
        "hostkeyDsa1024": {
          "type": "string",
          "description": "DSA certificate used by SSH proxy.\n"
        },
        "hostkeyEcdsa256": {
          "type": "string",
          "description": "ECDSA nid256 certificate used by SSH proxy.\n"
        },
        "hostkeyEcdsa384": {
          "type": "string",
          "description": "ECDSA nid384 certificate used by SSH proxy.\n"
        },
        "hostkeyEcdsa521": {
          "type": "string",
          "description": "ECDSA nid384 certificate used by SSH proxy.\n"
        },
        "hostkeyEd25519": {
          "type": "string",
          "description": "ED25519 hostkey used by SSH proxy.\n"
        },
        "hostkeyRsa2048": {
          "type": "string",
          "description": "RSA certificate used by SSH proxy.\n"
        },
        "untrustedCaname": {
          "type": "string",
          "description": "Untrusted CA certificate used by SSH Inspection.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "caname",
        "hostTrustedChecking",
        "hostkeyDsa1024",
        "hostkeyEcdsa256",
        "hostkeyEcdsa384",
        "hostkeyEcdsa521",
        "hostkeyEd25519",
        "hostkeyRsa2048",
        "untrustedCaname",
        "vdomparam"
      ],
      "inputProperties": {
        "caname": {
          "type": "string",
          "description": "CA certificate used by SSH Inspection.\n"
        },
        "hostTrustedChecking": {
          "type": "string",
          "description": "Enable/disable host trusted checking. Valid values: `enable`, `disable`.\n"
        },
        "hostkeyDsa1024": {
          "type": "string",
          "description": "DSA certificate used by SSH proxy.\n"
        },
        "hostkeyEcdsa256": {
          "type": "string",
          "description": "ECDSA nid256 certificate used by SSH proxy.\n"
        },
        "hostkeyEcdsa384": {
          "type": "string",
          "description": "ECDSA nid384 certificate used by SSH proxy.\n"
        },
        "hostkeyEcdsa521": {
          "type": "string",
          "description": "ECDSA nid384 certificate used by SSH proxy.\n"
        },
        "hostkeyEd25519": {
          "type": "string",
          "description": "ED25519 hostkey used by SSH proxy.\n"
        },
        "hostkeyRsa2048": {
          "type": "string",
          "description": "RSA certificate used by SSH proxy.\n"
        },
        "untrustedCaname": {
          "type": "string",
          "description": "Untrusted CA certificate used by SSH Inspection.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "caname": {
            "type": "string",
            "description": "CA certificate used by SSH Inspection.\n"
          },
          "hostTrustedChecking": {
            "type": "string",
            "description": "Enable/disable host trusted checking. Valid values: `enable`, `disable`.\n"
          },
          "hostkeyDsa1024": {
            "type": "string",
            "description": "DSA certificate used by SSH proxy.\n"
          },
          "hostkeyEcdsa256": {
            "type": "string",
            "description": "ECDSA nid256 certificate used by SSH proxy.\n"
          },
          "hostkeyEcdsa384": {
            "type": "string",
            "description": "ECDSA nid384 certificate used by SSH proxy.\n"
          },
          "hostkeyEcdsa521": {
            "type": "string",
            "description": "ECDSA nid384 certificate used by SSH proxy.\n"
          },
          "hostkeyEd25519": {
            "type": "string",
            "description": "ED25519 hostkey used by SSH proxy.\n"
          },
          "hostkeyRsa2048": {
            "type": "string",
            "description": "RSA certificate used by SSH proxy.\n"
          },
          "untrustedCaname": {
            "type": "string",
            "description": "Untrusted CA certificate used by SSH Inspection.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ssl/setting:Setting": {
      "description": "SSL proxy settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.ssl.Setting(\"trname\", {\n    abbreviateHandshake: \"enable\",\n    certCacheCapacity: 200,\n    certCacheTimeout: 10,\n    kxpQueueThreshold: 16,\n    noMatchingCipherAction: \"bypass\",\n    proxyConnectTimeout: 30,\n    sessionCacheCapacity: 500,\n    sessionCacheTimeout: 20,\n    sslDhBits: \"2048\",\n    sslQueueThreshold: 32,\n    sslSendEmptyFrags: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.ssl.Setting(\"trname\",\n    abbreviate_handshake=\"enable\",\n    cert_cache_capacity=200,\n    cert_cache_timeout=10,\n    kxp_queue_threshold=16,\n    no_matching_cipher_action=\"bypass\",\n    proxy_connect_timeout=30,\n    session_cache_capacity=500,\n    session_cache_timeout=20,\n    ssl_dh_bits=\"2048\",\n    ssl_queue_threshold=32,\n    ssl_send_empty_frags=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Ssl.Setting(\"trname\", new()\n    {\n        AbbreviateHandshake = \"enable\",\n        CertCacheCapacity = 200,\n        CertCacheTimeout = 10,\n        KxpQueueThreshold = 16,\n        NoMatchingCipherAction = \"bypass\",\n        ProxyConnectTimeout = 30,\n        SessionCacheCapacity = 500,\n        SessionCacheTimeout = 20,\n        SslDhBits = \"2048\",\n        SslQueueThreshold = 32,\n        SslSendEmptyFrags = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewSetting(ctx, \"trname\", &firewall.SettingArgs{\n\t\t\tAbbreviateHandshake:    pulumi.String(\"enable\"),\n\t\t\tCertCacheCapacity:      pulumi.Int(200),\n\t\t\tCertCacheTimeout:       pulumi.Int(10),\n\t\t\tKxpQueueThreshold:      pulumi.Int(16),\n\t\t\tNoMatchingCipherAction: pulumi.String(\"bypass\"),\n\t\t\tProxyConnectTimeout:    pulumi.Int(30),\n\t\t\tSessionCacheCapacity:   pulumi.Int(500),\n\t\t\tSessionCacheTimeout:    pulumi.Int(20),\n\t\t\tSslDhBits:              pulumi.String(\"2048\"),\n\t\t\tSslQueueThreshold:      pulumi.Int(32),\n\t\t\tSslSendEmptyFrags:      pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Setting;\nimport com.pulumi.fortios.firewall.SettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Setting(\"trname\", SettingArgs.builder()\n            .abbreviateHandshake(\"enable\")\n            .certCacheCapacity(200)\n            .certCacheTimeout(10)\n            .kxpQueueThreshold(16)\n            .noMatchingCipherAction(\"bypass\")\n            .proxyConnectTimeout(30)\n            .sessionCacheCapacity(500)\n            .sessionCacheTimeout(20)\n            .sslDhBits(\"2048\")\n            .sslQueueThreshold(32)\n            .sslSendEmptyFrags(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/ssl:Setting\n    properties:\n      abbreviateHandshake: enable\n      certCacheCapacity: 200\n      certCacheTimeout: 10\n      kxpQueueThreshold: 16\n      noMatchingCipherAction: bypass\n      proxyConnectTimeout: 30\n      sessionCacheCapacity: 500\n      sessionCacheTimeout: 20\n      sslDhBits: '2048'\n      sslQueueThreshold: 32\n      sslSendEmptyFrags: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallSsl Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ssl/setting:Setting labelname FirewallSslSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ssl/setting:Setting labelname FirewallSslSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "abbreviateHandshake": {
          "type": "string",
          "description": "Enable/disable use of SSL abbreviated handshake. Valid values: `enable`, `disable`.\n"
        },
        "certCacheCapacity": {
          "type": "integer",
          "description": "Maximum capacity of the host certificate cache (0 - 500, default = 200).\n"
        },
        "certCacheTimeout": {
          "type": "integer",
          "description": "Time limit to keep certificate cache (1 - 120 min, default = 10).\n"
        },
        "kxpQueueThreshold": {
          "type": "integer",
          "description": "Maximum length of the CP KXP queue. When the queue becomes full, the proxy switches cipher functions to the main CPU (0 - 512, default = 16).\n"
        },
        "noMatchingCipherAction": {
          "type": "string",
          "description": "Bypass or drop the connection when no matching cipher is found. Valid values: `bypass`, `drop`.\n"
        },
        "proxyConnectTimeout": {
          "type": "integer",
          "description": "Time limit to make an internal connection to the appropriate proxy process (1 - 60 sec, default = 30).\n"
        },
        "sessionCacheCapacity": {
          "type": "integer",
          "description": "Capacity of the SSL session cache (--Obsolete--) (1 - 1000, default = 500).\n"
        },
        "sessionCacheTimeout": {
          "type": "integer",
          "description": "Time limit to keep SSL session state (1 - 60 min, default = 20).\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Bit-size of Diffie-Hellman (DH) prime used in DHE-RSA negotiation (default = 2048). Valid values: `768`, `1024`, `1536`, `2048`.\n"
        },
        "sslQueueThreshold": {
          "type": "integer",
          "description": "Maximum length of the CP SSL queue. When the queue becomes full, the proxy switches cipher functions to the main CPU (0 - 512, default = 32).\n"
        },
        "sslSendEmptyFrags": {
          "type": "string",
          "description": "Enable/disable sending empty fragments to avoid attack on CBC IV (for SSL 3.0 and TLS 1.0 only). Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "abbreviateHandshake",
        "certCacheCapacity",
        "certCacheTimeout",
        "kxpQueueThreshold",
        "noMatchingCipherAction",
        "proxyConnectTimeout",
        "sessionCacheCapacity",
        "sessionCacheTimeout",
        "sslDhBits",
        "sslQueueThreshold",
        "sslSendEmptyFrags",
        "vdomparam"
      ],
      "inputProperties": {
        "abbreviateHandshake": {
          "type": "string",
          "description": "Enable/disable use of SSL abbreviated handshake. Valid values: `enable`, `disable`.\n"
        },
        "certCacheCapacity": {
          "type": "integer",
          "description": "Maximum capacity of the host certificate cache (0 - 500, default = 200).\n"
        },
        "certCacheTimeout": {
          "type": "integer",
          "description": "Time limit to keep certificate cache (1 - 120 min, default = 10).\n"
        },
        "kxpQueueThreshold": {
          "type": "integer",
          "description": "Maximum length of the CP KXP queue. When the queue becomes full, the proxy switches cipher functions to the main CPU (0 - 512, default = 16).\n"
        },
        "noMatchingCipherAction": {
          "type": "string",
          "description": "Bypass or drop the connection when no matching cipher is found. Valid values: `bypass`, `drop`.\n"
        },
        "proxyConnectTimeout": {
          "type": "integer",
          "description": "Time limit to make an internal connection to the appropriate proxy process (1 - 60 sec, default = 30).\n"
        },
        "sessionCacheCapacity": {
          "type": "integer",
          "description": "Capacity of the SSL session cache (--Obsolete--) (1 - 1000, default = 500).\n"
        },
        "sessionCacheTimeout": {
          "type": "integer",
          "description": "Time limit to keep SSL session state (1 - 60 min, default = 20).\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Bit-size of Diffie-Hellman (DH) prime used in DHE-RSA negotiation (default = 2048). Valid values: `768`, `1024`, `1536`, `2048`.\n"
        },
        "sslQueueThreshold": {
          "type": "integer",
          "description": "Maximum length of the CP SSL queue. When the queue becomes full, the proxy switches cipher functions to the main CPU (0 - 512, default = 32).\n"
        },
        "sslSendEmptyFrags": {
          "type": "string",
          "description": "Enable/disable sending empty fragments to avoid attack on CBC IV (for SSL 3.0 and TLS 1.0 only). Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "certCacheCapacity",
        "certCacheTimeout",
        "noMatchingCipherAction",
        "proxyConnectTimeout",
        "sessionCacheCapacity",
        "sessionCacheTimeout",
        "sslDhBits",
        "sslSendEmptyFrags"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "abbreviateHandshake": {
            "type": "string",
            "description": "Enable/disable use of SSL abbreviated handshake. Valid values: `enable`, `disable`.\n"
          },
          "certCacheCapacity": {
            "type": "integer",
            "description": "Maximum capacity of the host certificate cache (0 - 500, default = 200).\n"
          },
          "certCacheTimeout": {
            "type": "integer",
            "description": "Time limit to keep certificate cache (1 - 120 min, default = 10).\n"
          },
          "kxpQueueThreshold": {
            "type": "integer",
            "description": "Maximum length of the CP KXP queue. When the queue becomes full, the proxy switches cipher functions to the main CPU (0 - 512, default = 16).\n"
          },
          "noMatchingCipherAction": {
            "type": "string",
            "description": "Bypass or drop the connection when no matching cipher is found. Valid values: `bypass`, `drop`.\n"
          },
          "proxyConnectTimeout": {
            "type": "integer",
            "description": "Time limit to make an internal connection to the appropriate proxy process (1 - 60 sec, default = 30).\n"
          },
          "sessionCacheCapacity": {
            "type": "integer",
            "description": "Capacity of the SSL session cache (--Obsolete--) (1 - 1000, default = 500).\n"
          },
          "sessionCacheTimeout": {
            "type": "integer",
            "description": "Time limit to keep SSL session state (1 - 60 min, default = 20).\n"
          },
          "sslDhBits": {
            "type": "string",
            "description": "Bit-size of Diffie-Hellman (DH) prime used in DHE-RSA negotiation (default = 2048). Valid values: `768`, `1024`, `1536`, `2048`.\n"
          },
          "sslQueueThreshold": {
            "type": "integer",
            "description": "Maximum length of the CP SSL queue. When the queue becomes full, the proxy switches cipher functions to the main CPU (0 - 512, default = 32).\n"
          },
          "sslSendEmptyFrags": {
            "type": "string",
            "description": "Enable/disable sending empty fragments to avoid attack on CBC IV (for SSL 3.0 and TLS 1.0 only). Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/sslserver:Sslserver": {
      "description": "Configure SSL servers.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Sslserver(\"trname\", {\n    addHeaderXForwardedProto: \"enable\",\n    ip: \"1.1.1.1\",\n    mappedPort: 2234,\n    port: 32321,\n    sslAlgorithm: \"high\",\n    sslCert: \"Fortinet_CA_SSL\",\n    sslClientRenegotiation: \"allow\",\n    sslDhBits: \"2048\",\n    sslMaxVersion: \"tls-1.2\",\n    sslMinVersion: \"tls-1.1\",\n    sslMode: \"half\",\n    sslSendEmptyFrags: \"enable\",\n    urlRewrite: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Sslserver(\"trname\",\n    add_header_x_forwarded_proto=\"enable\",\n    ip=\"1.1.1.1\",\n    mapped_port=2234,\n    port=32321,\n    ssl_algorithm=\"high\",\n    ssl_cert=\"Fortinet_CA_SSL\",\n    ssl_client_renegotiation=\"allow\",\n    ssl_dh_bits=\"2048\",\n    ssl_max_version=\"tls-1.2\",\n    ssl_min_version=\"tls-1.1\",\n    ssl_mode=\"half\",\n    ssl_send_empty_frags=\"enable\",\n    url_rewrite=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Sslserver(\"trname\", new()\n    {\n        AddHeaderXForwardedProto = \"enable\",\n        Ip = \"1.1.1.1\",\n        MappedPort = 2234,\n        Port = 32321,\n        SslAlgorithm = \"high\",\n        SslCert = \"Fortinet_CA_SSL\",\n        SslClientRenegotiation = \"allow\",\n        SslDhBits = \"2048\",\n        SslMaxVersion = \"tls-1.2\",\n        SslMinVersion = \"tls-1.1\",\n        SslMode = \"half\",\n        SslSendEmptyFrags = \"enable\",\n        UrlRewrite = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewSslserver(ctx, \"trname\", &firewall.SslserverArgs{\n\t\t\tAddHeaderXForwardedProto: pulumi.String(\"enable\"),\n\t\t\tIp:                       pulumi.String(\"1.1.1.1\"),\n\t\t\tMappedPort:               pulumi.Int(2234),\n\t\t\tPort:                     pulumi.Int(32321),\n\t\t\tSslAlgorithm:             pulumi.String(\"high\"),\n\t\t\tSslCert:                  pulumi.String(\"Fortinet_CA_SSL\"),\n\t\t\tSslClientRenegotiation:   pulumi.String(\"allow\"),\n\t\t\tSslDhBits:                pulumi.String(\"2048\"),\n\t\t\tSslMaxVersion:            pulumi.String(\"tls-1.2\"),\n\t\t\tSslMinVersion:            pulumi.String(\"tls-1.1\"),\n\t\t\tSslMode:                  pulumi.String(\"half\"),\n\t\t\tSslSendEmptyFrags:        pulumi.String(\"enable\"),\n\t\t\tUrlRewrite:               pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Sslserver;\nimport com.pulumi.fortios.firewall.SslserverArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Sslserver(\"trname\", SslserverArgs.builder()\n            .addHeaderXForwardedProto(\"enable\")\n            .ip(\"1.1.1.1\")\n            .mappedPort(2234)\n            .port(32321)\n            .sslAlgorithm(\"high\")\n            .sslCert(\"Fortinet_CA_SSL\")\n            .sslClientRenegotiation(\"allow\")\n            .sslDhBits(\"2048\")\n            .sslMaxVersion(\"tls-1.2\")\n            .sslMinVersion(\"tls-1.1\")\n            .sslMode(\"half\")\n            .sslSendEmptyFrags(\"enable\")\n            .urlRewrite(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Sslserver\n    properties:\n      addHeaderXForwardedProto: enable\n      ip: 1.1.1.1\n      mappedPort: 2234\n      port: 32321\n      sslAlgorithm: high\n      sslCert: Fortinet_CA_SSL\n      sslClientRenegotiation: allow\n      sslDhBits: '2048'\n      sslMaxVersion: tls-1.2\n      sslMinVersion: tls-1.1\n      sslMode: half\n      sslSendEmptyFrags: enable\n      urlRewrite: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall SslServer can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/sslserver:Sslserver labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/sslserver:Sslserver labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addHeaderXForwardedProto": {
          "type": "string",
          "description": "Enable/disable adding an X-Forwarded-Proto header to forwarded requests. Valid values: `enable`, `disable`.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the SSL server.\n"
        },
        "mappedPort": {
          "type": "integer",
          "description": "Mapped server service port (1 - 65535, default = 80).\n"
        },
        "name": {
          "type": "string",
          "description": "Server name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server service port (1 - 65535, default = 443).\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Relative strength of encryption algorithms accepted in negotiation. Valid values: `high`, `medium`, `low`.\n"
        },
        "sslCert": {
          "type": "string",
          "description": "Name of certificate for SSL connections to this server. On FortiOS versions 6.2.0-7.2.8: default = \"Fortinet_CA_SSL\". On FortiOS versions 7.4.0-7.4.1: default = \"Fortinet_SSL\".\n"
        },
        "sslClientRenegotiation": {
          "type": "string",
          "description": "Allow or block client renegotiation by server. Valid values: `allow`, `deny`, `secure`.\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Bit-size of Diffie-Hellman (DH) prime used in DHE-RSA negotiation (default = 2048). Valid values: `768`, `1024`, `1536`, `2048`.\n"
        },
        "sslMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version to negotiate.\n"
        },
        "sslMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version to negotiate.\n"
        },
        "sslMode": {
          "type": "string",
          "description": "SSL/TLS mode for encryption and decryption of traffic. Valid values: `half`, `full`.\n"
        },
        "sslSendEmptyFrags": {
          "type": "string",
          "description": "Enable/disable sending empty fragments to avoid attack on CBC IV. Valid values: `enable`, `disable`.\n"
        },
        "urlRewrite": {
          "type": "string",
          "description": "Enable/disable rewriting the URL. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "addHeaderXForwardedProto",
        "ip",
        "mappedPort",
        "name",
        "port",
        "sslAlgorithm",
        "sslCert",
        "sslClientRenegotiation",
        "sslDhBits",
        "sslMaxVersion",
        "sslMinVersion",
        "sslMode",
        "sslSendEmptyFrags",
        "urlRewrite",
        "vdomparam"
      ],
      "inputProperties": {
        "addHeaderXForwardedProto": {
          "type": "string",
          "description": "Enable/disable adding an X-Forwarded-Proto header to forwarded requests. Valid values: `enable`, `disable`.\n"
        },
        "ip": {
          "type": "string",
          "description": "IPv4 address of the SSL server.\n"
        },
        "mappedPort": {
          "type": "integer",
          "description": "Mapped server service port (1 - 65535, default = 80).\n"
        },
        "name": {
          "type": "string",
          "description": "Server name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Server service port (1 - 65535, default = 443).\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Relative strength of encryption algorithms accepted in negotiation. Valid values: `high`, `medium`, `low`.\n"
        },
        "sslCert": {
          "type": "string",
          "description": "Name of certificate for SSL connections to this server. On FortiOS versions 6.2.0-7.2.8: default = \"Fortinet_CA_SSL\". On FortiOS versions 7.4.0-7.4.1: default = \"Fortinet_SSL\".\n"
        },
        "sslClientRenegotiation": {
          "type": "string",
          "description": "Allow or block client renegotiation by server. Valid values: `allow`, `deny`, `secure`.\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Bit-size of Diffie-Hellman (DH) prime used in DHE-RSA negotiation (default = 2048). Valid values: `768`, `1024`, `1536`, `2048`.\n"
        },
        "sslMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version to negotiate.\n"
        },
        "sslMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version to negotiate.\n"
        },
        "sslMode": {
          "type": "string",
          "description": "SSL/TLS mode for encryption and decryption of traffic. Valid values: `half`, `full`.\n"
        },
        "sslSendEmptyFrags": {
          "type": "string",
          "description": "Enable/disable sending empty fragments to avoid attack on CBC IV. Valid values: `enable`, `disable`.\n"
        },
        "urlRewrite": {
          "type": "string",
          "description": "Enable/disable rewriting the URL. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "ip",
        "port",
        "sslCert"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sslserver resources.\n",
        "properties": {
          "addHeaderXForwardedProto": {
            "type": "string",
            "description": "Enable/disable adding an X-Forwarded-Proto header to forwarded requests. Valid values: `enable`, `disable`.\n"
          },
          "ip": {
            "type": "string",
            "description": "IPv4 address of the SSL server.\n"
          },
          "mappedPort": {
            "type": "integer",
            "description": "Mapped server service port (1 - 65535, default = 80).\n"
          },
          "name": {
            "type": "string",
            "description": "Server name.\n"
          },
          "port": {
            "type": "integer",
            "description": "Server service port (1 - 65535, default = 443).\n"
          },
          "sslAlgorithm": {
            "type": "string",
            "description": "Relative strength of encryption algorithms accepted in negotiation. Valid values: `high`, `medium`, `low`.\n"
          },
          "sslCert": {
            "type": "string",
            "description": "Name of certificate for SSL connections to this server. On FortiOS versions 6.2.0-7.2.8: default = \"Fortinet_CA_SSL\". On FortiOS versions 7.4.0-7.4.1: default = \"Fortinet_SSL\".\n"
          },
          "sslClientRenegotiation": {
            "type": "string",
            "description": "Allow or block client renegotiation by server. Valid values: `allow`, `deny`, `secure`.\n"
          },
          "sslDhBits": {
            "type": "string",
            "description": "Bit-size of Diffie-Hellman (DH) prime used in DHE-RSA negotiation (default = 2048). Valid values: `768`, `1024`, `1536`, `2048`.\n"
          },
          "sslMaxVersion": {
            "type": "string",
            "description": "Highest SSL/TLS version to negotiate.\n"
          },
          "sslMinVersion": {
            "type": "string",
            "description": "Lowest SSL/TLS version to negotiate.\n"
          },
          "sslMode": {
            "type": "string",
            "description": "SSL/TLS mode for encryption and decryption of traffic. Valid values: `half`, `full`.\n"
          },
          "sslSendEmptyFrags": {
            "type": "string",
            "description": "Enable/disable sending empty fragments to avoid attack on CBC IV. Valid values: `enable`, `disable`.\n"
          },
          "urlRewrite": {
            "type": "string",
            "description": "Enable/disable rewriting the URL. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/sslsshprofile:Sslsshprofile": {
      "description": "Configure SSL/SSH protocol options.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst t1 = new fortios.firewall.Sslsshprofile(\"t1\", {\n    ftps: {\n        ports: \"990\",\n    },\n    https: {\n        ports: \"443 127 422 392\",\n    },\n    imaps: {\n        ports: \"993 1123\",\n    },\n    pop3s: {\n        ports: \"995\",\n    },\n    smtps: {\n        ports: \"465\",\n    },\n    ssl: {\n        inspectAll: \"disable\",\n    },\n});\nconst t2 = new fortios.firewall.Sslsshprofile(\"t2\", {\n    https: {\n        ports: \"443\",\n    },\n    ssl: {\n        inspectAll: \"deep-inspection\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\nt1 = fortios.firewall.Sslsshprofile(\"t1\",\n    ftps=fortios.firewall.SslsshprofileFtpsArgs(\n        ports=\"990\",\n    ),\n    https=fortios.firewall.SslsshprofileHttpsArgs(\n        ports=\"443 127 422 392\",\n    ),\n    imaps=fortios.firewall.SslsshprofileImapsArgs(\n        ports=\"993 1123\",\n    ),\n    pop3s=fortios.firewall.SslsshprofilePop3sArgs(\n        ports=\"995\",\n    ),\n    smtps=fortios.firewall.SslsshprofileSmtpsArgs(\n        ports=\"465\",\n    ),\n    ssl=fortios.firewall.SslsshprofileSslArgs(\n        inspect_all=\"disable\",\n    ))\nt2 = fortios.firewall.Sslsshprofile(\"t2\",\n    https=fortios.firewall.SslsshprofileHttpsArgs(\n        ports=\"443\",\n    ),\n    ssl=fortios.firewall.SslsshprofileSslArgs(\n        inspect_all=\"deep-inspection\",\n    ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var t1 = new Fortios.Firewall.Sslsshprofile(\"t1\", new()\n    {\n        Ftps = new Fortios.Firewall.Inputs.SslsshprofileFtpsArgs\n        {\n            Ports = \"990\",\n        },\n        Https = new Fortios.Firewall.Inputs.SslsshprofileHttpsArgs\n        {\n            Ports = \"443 127 422 392\",\n        },\n        Imaps = new Fortios.Firewall.Inputs.SslsshprofileImapsArgs\n        {\n            Ports = \"993 1123\",\n        },\n        Pop3s = new Fortios.Firewall.Inputs.SslsshprofilePop3sArgs\n        {\n            Ports = \"995\",\n        },\n        Smtps = new Fortios.Firewall.Inputs.SslsshprofileSmtpsArgs\n        {\n            Ports = \"465\",\n        },\n        Ssl = new Fortios.Firewall.Inputs.SslsshprofileSslArgs\n        {\n            InspectAll = \"disable\",\n        },\n    });\n\n    var t2 = new Fortios.Firewall.Sslsshprofile(\"t2\", new()\n    {\n        Https = new Fortios.Firewall.Inputs.SslsshprofileHttpsArgs\n        {\n            Ports = \"443\",\n        },\n        Ssl = new Fortios.Firewall.Inputs.SslsshprofileSslArgs\n        {\n            InspectAll = \"deep-inspection\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewSslsshprofile(ctx, \"t1\", &firewall.SslsshprofileArgs{\n\t\t\tFtps: &firewall.SslsshprofileFtpsArgs{\n\t\t\t\tPorts: pulumi.String(\"990\"),\n\t\t\t},\n\t\t\tHttps: &firewall.SslsshprofileHttpsArgs{\n\t\t\t\tPorts: pulumi.String(\"443 127 422 392\"),\n\t\t\t},\n\t\t\tImaps: &firewall.SslsshprofileImapsArgs{\n\t\t\t\tPorts: pulumi.String(\"993 1123\"),\n\t\t\t},\n\t\t\tPop3s: &firewall.SslsshprofilePop3sArgs{\n\t\t\t\tPorts: pulumi.String(\"995\"),\n\t\t\t},\n\t\t\tSmtps: &firewall.SslsshprofileSmtpsArgs{\n\t\t\t\tPorts: pulumi.String(\"465\"),\n\t\t\t},\n\t\t\tSsl: &firewall.SslsshprofileSslArgs{\n\t\t\t\tInspectAll: pulumi.String(\"disable\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewSslsshprofile(ctx, \"t2\", &firewall.SslsshprofileArgs{\n\t\t\tHttps: &firewall.SslsshprofileHttpsArgs{\n\t\t\t\tPorts: pulumi.String(\"443\"),\n\t\t\t},\n\t\t\tSsl: &firewall.SslsshprofileSslArgs{\n\t\t\t\tInspectAll: pulumi.String(\"deep-inspection\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Sslsshprofile;\nimport com.pulumi.fortios.firewall.SslsshprofileArgs;\nimport com.pulumi.fortios.firewall.inputs.SslsshprofileFtpsArgs;\nimport com.pulumi.fortios.firewall.inputs.SslsshprofileHttpsArgs;\nimport com.pulumi.fortios.firewall.inputs.SslsshprofileImapsArgs;\nimport com.pulumi.fortios.firewall.inputs.SslsshprofilePop3sArgs;\nimport com.pulumi.fortios.firewall.inputs.SslsshprofileSmtpsArgs;\nimport com.pulumi.fortios.firewall.inputs.SslsshprofileSslArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var t1 = new Sslsshprofile(\"t1\", SslsshprofileArgs.builder()\n            .ftps(SslsshprofileFtpsArgs.builder()\n                .ports(990)\n                .build())\n            .https(SslsshprofileHttpsArgs.builder()\n                .ports(\"443 127 422 392\")\n                .build())\n            .imaps(SslsshprofileImapsArgs.builder()\n                .ports(\"993 1123\")\n                .build())\n            .pop3s(SslsshprofilePop3sArgs.builder()\n                .ports(995)\n                .build())\n            .smtps(SslsshprofileSmtpsArgs.builder()\n                .ports(465)\n                .build())\n            .ssl(SslsshprofileSslArgs.builder()\n                .inspectAll(\"disable\")\n                .build())\n            .build());\n\n        var t2 = new Sslsshprofile(\"t2\", SslsshprofileArgs.builder()\n            .https(SslsshprofileHttpsArgs.builder()\n                .ports(443)\n                .build())\n            .ssl(SslsshprofileSslArgs.builder()\n                .inspectAll(\"deep-inspection\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  t1:\n    type: fortios:firewall:Sslsshprofile\n    properties:\n      ftps:\n        ports: 990\n      https:\n        ports: 443 127 422 392\n      imaps:\n        ports: 993 1123\n      pop3s:\n        ports: 995\n      smtps:\n        ports: 465\n      ssl:\n        inspectAll: disable\n  t2:\n    type: fortios:firewall:Sslsshprofile\n    properties:\n      https:\n        ports: 443\n      ssl:\n        inspectAll: deep-inspection\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall SslSshProfile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/sslsshprofile:Sslsshprofile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/sslsshprofile:Sslsshprofile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "allowlist": {
          "type": "string",
          "description": "Enable/disable exempting servers by FortiGuard allowlist. Valid values: `enable`, `disable`.\n"
        },
        "blockBlacklistedCertificates": {
          "type": "string",
          "description": "Enable/disable blocking SSL-based botnet communication by FortiGuard certificate blacklist. Valid values: `disable`, `enable`.\n"
        },
        "blockBlocklistedCertificates": {
          "type": "string",
          "description": "Enable/disable blocking SSL-based botnet communication by FortiGuard certificate blocklist. Valid values: `disable`, `enable`.\n"
        },
        "caname": {
          "type": "string",
          "description": "CA certificate used by SSL Inspection.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dot": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileDot:SslsshprofileDot",
          "description": "Configure DNS over TLS options. The structure of `dot` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "echOuterSnis": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileEchOuterSni:SslsshprofileEchOuterSni"
          },
          "description": "ClientHelloOuter SNIs to be blocked. The structure of `ech_outer_sni` block is documented below.\n"
        },
        "ftps": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileFtps:SslsshprofileFtps",
          "description": "Configure FTPS options. The structure of `ftps` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "https": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileHttps:SslsshprofileHttps",
          "description": "Configure HTTPS options. The structure of `https` block is documented below.\n"
        },
        "imaps": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileImaps:SslsshprofileImaps",
          "description": "Configure IMAPS options. The structure of `imaps` block is documented below.\n"
        },
        "mapiOverHttps": {
          "type": "string",
          "description": "Enable/disable inspection of MAPI over HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "pop3s": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofilePop3s:SslsshprofilePop3s",
          "description": "Configure POP3S options. The structure of `pop3s` block is documented below.\n"
        },
        "rpcOverHttps": {
          "type": "string",
          "description": "Enable/disable inspection of RPC over HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "serverCert": {
          "type": "string",
          "description": "Certificate used by SSL Inspection to replace server certificate.\n"
        },
        "serverCertMode": {
          "type": "string",
          "description": "Re-sign or replace the server's certificate. Valid values: `re-sign`, `replace`.\n"
        },
        "smtps": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileSmtps:SslsshprofileSmtps",
          "description": "Configure SMTPS options. The structure of `smtps` block is documented below.\n"
        },
        "ssh": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileSsh:SslsshprofileSsh",
          "description": "Configure SSH options. The structure of `ssh` block is documented below.\n"
        },
        "ssl": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileSsl:SslsshprofileSsl",
          "description": "Configure SSL options. The structure of `ssl` block is documented below.\n"
        },
        "sslAnomaliesLog": {
          "type": "string",
          "description": "Enable/disable logging SSL anomalies. Valid values: `disable`, `enable`.\n"
        },
        "sslAnomalyLog": {
          "type": "string",
          "description": "Enable/disable logging SSL anomalies. Valid values: `disable`, `enable`.\n"
        },
        "sslExemptionIpRating": {
          "type": "string",
          "description": "Enable/disable IP based URL rating. Valid values: `enable`, `disable`.\n"
        },
        "sslExemptionLog": {
          "type": "string",
          "description": "Enable/disable logging SSL exemptions. Valid values: `disable`, `enable`.\n"
        },
        "sslExemptionsLog": {
          "type": "string",
          "description": "Enable/disable logging SSL exemptions. Valid values: `disable`, `enable`.\n"
        },
        "sslExempts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileSslExempt:SslsshprofileSslExempt"
          },
          "description": "Servers to exempt from SSL inspection. The structure of `ssl_exempt` block is documented below.\n"
        },
        "sslHandshakeLog": {
          "type": "string",
          "description": "Enable/disable logging of TLS handshakes. Valid values: `disable`, `enable`.\n"
        },
        "sslNegotiationLog": {
          "type": "string",
          "description": "Enable/disable logging SSL negotiation. Valid values: `disable`, `enable`.\n"
        },
        "sslServerCertLog": {
          "type": "string",
          "description": "Enable/disable logging of server certificate information. Valid values: `disable`, `enable`.\n"
        },
        "sslServers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileSslServer:SslsshprofileSslServer"
          },
          "description": "SSL servers. The structure of `ssl_server` block is documented below.\n"
        },
        "supportedAlpn": {
          "type": "string",
          "description": "Configure ALPN option. Valid values: `http1-1`, `http2`, `all`, `none`.\n"
        },
        "untrustedCaname": {
          "type": "string",
          "description": "Untrusted CA certificate used by SSL Inspection.\n"
        },
        "useSslServer": {
          "type": "string",
          "description": "Enable/disable the use of SSL server table for SSL offloading. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "whitelist": {
          "type": "string",
          "description": "Enable/disable exempting servers by FortiGuard whitelist. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "allowlist",
        "blockBlacklistedCertificates",
        "blockBlocklistedCertificates",
        "caname",
        "dot",
        "ftps",
        "https",
        "imaps",
        "mapiOverHttps",
        "name",
        "pop3s",
        "rpcOverHttps",
        "serverCert",
        "serverCertMode",
        "smtps",
        "ssh",
        "ssl",
        "sslAnomaliesLog",
        "sslAnomalyLog",
        "sslExemptionIpRating",
        "sslExemptionLog",
        "sslExemptionsLog",
        "sslHandshakeLog",
        "sslNegotiationLog",
        "sslServerCertLog",
        "supportedAlpn",
        "untrustedCaname",
        "useSslServer",
        "vdomparam",
        "whitelist"
      ],
      "inputProperties": {
        "allowlist": {
          "type": "string",
          "description": "Enable/disable exempting servers by FortiGuard allowlist. Valid values: `enable`, `disable`.\n"
        },
        "blockBlacklistedCertificates": {
          "type": "string",
          "description": "Enable/disable blocking SSL-based botnet communication by FortiGuard certificate blacklist. Valid values: `disable`, `enable`.\n"
        },
        "blockBlocklistedCertificates": {
          "type": "string",
          "description": "Enable/disable blocking SSL-based botnet communication by FortiGuard certificate blocklist. Valid values: `disable`, `enable`.\n"
        },
        "caname": {
          "type": "string",
          "description": "CA certificate used by SSL Inspection.\n"
        },
        "comment": {
          "type": "string",
          "description": "Optional comments.\n"
        },
        "dot": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileDot:SslsshprofileDot",
          "description": "Configure DNS over TLS options. The structure of `dot` block is documented below.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "echOuterSnis": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileEchOuterSni:SslsshprofileEchOuterSni"
          },
          "description": "ClientHelloOuter SNIs to be blocked. The structure of `ech_outer_sni` block is documented below.\n"
        },
        "ftps": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileFtps:SslsshprofileFtps",
          "description": "Configure FTPS options. The structure of `ftps` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "https": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileHttps:SslsshprofileHttps",
          "description": "Configure HTTPS options. The structure of `https` block is documented below.\n"
        },
        "imaps": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileImaps:SslsshprofileImaps",
          "description": "Configure IMAPS options. The structure of `imaps` block is documented below.\n"
        },
        "mapiOverHttps": {
          "type": "string",
          "description": "Enable/disable inspection of MAPI over HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "name": {
          "type": "string",
          "description": "Name.\n"
        },
        "pop3s": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofilePop3s:SslsshprofilePop3s",
          "description": "Configure POP3S options. The structure of `pop3s` block is documented below.\n"
        },
        "rpcOverHttps": {
          "type": "string",
          "description": "Enable/disable inspection of RPC over HTTPS. Valid values: `enable`, `disable`.\n"
        },
        "serverCert": {
          "type": "string",
          "description": "Certificate used by SSL Inspection to replace server certificate.\n"
        },
        "serverCertMode": {
          "type": "string",
          "description": "Re-sign or replace the server's certificate. Valid values: `re-sign`, `replace`.\n"
        },
        "smtps": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileSmtps:SslsshprofileSmtps",
          "description": "Configure SMTPS options. The structure of `smtps` block is documented below.\n"
        },
        "ssh": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileSsh:SslsshprofileSsh",
          "description": "Configure SSH options. The structure of `ssh` block is documented below.\n"
        },
        "ssl": {
          "$ref": "#/types/fortios:firewall%2FSslsshprofileSsl:SslsshprofileSsl",
          "description": "Configure SSL options. The structure of `ssl` block is documented below.\n"
        },
        "sslAnomaliesLog": {
          "type": "string",
          "description": "Enable/disable logging SSL anomalies. Valid values: `disable`, `enable`.\n"
        },
        "sslAnomalyLog": {
          "type": "string",
          "description": "Enable/disable logging SSL anomalies. Valid values: `disable`, `enable`.\n"
        },
        "sslExemptionIpRating": {
          "type": "string",
          "description": "Enable/disable IP based URL rating. Valid values: `enable`, `disable`.\n"
        },
        "sslExemptionLog": {
          "type": "string",
          "description": "Enable/disable logging SSL exemptions. Valid values: `disable`, `enable`.\n"
        },
        "sslExemptionsLog": {
          "type": "string",
          "description": "Enable/disable logging SSL exemptions. Valid values: `disable`, `enable`.\n"
        },
        "sslExempts": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileSslExempt:SslsshprofileSslExempt"
          },
          "description": "Servers to exempt from SSL inspection. The structure of `ssl_exempt` block is documented below.\n"
        },
        "sslHandshakeLog": {
          "type": "string",
          "description": "Enable/disable logging of TLS handshakes. Valid values: `disable`, `enable`.\n"
        },
        "sslNegotiationLog": {
          "type": "string",
          "description": "Enable/disable logging SSL negotiation. Valid values: `disable`, `enable`.\n"
        },
        "sslServerCertLog": {
          "type": "string",
          "description": "Enable/disable logging of server certificate information. Valid values: `disable`, `enable`.\n"
        },
        "sslServers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileSslServer:SslsshprofileSslServer"
          },
          "description": "SSL servers. The structure of `ssl_server` block is documented below.\n"
        },
        "supportedAlpn": {
          "type": "string",
          "description": "Configure ALPN option. Valid values: `http1-1`, `http2`, `all`, `none`.\n"
        },
        "untrustedCaname": {
          "type": "string",
          "description": "Untrusted CA certificate used by SSL Inspection.\n"
        },
        "useSslServer": {
          "type": "string",
          "description": "Enable/disable the use of SSL server table for SSL offloading. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "whitelist": {
          "type": "string",
          "description": "Enable/disable exempting servers by FortiGuard whitelist. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sslsshprofile resources.\n",
        "properties": {
          "allowlist": {
            "type": "string",
            "description": "Enable/disable exempting servers by FortiGuard allowlist. Valid values: `enable`, `disable`.\n"
          },
          "blockBlacklistedCertificates": {
            "type": "string",
            "description": "Enable/disable blocking SSL-based botnet communication by FortiGuard certificate blacklist. Valid values: `disable`, `enable`.\n"
          },
          "blockBlocklistedCertificates": {
            "type": "string",
            "description": "Enable/disable blocking SSL-based botnet communication by FortiGuard certificate blocklist. Valid values: `disable`, `enable`.\n"
          },
          "caname": {
            "type": "string",
            "description": "CA certificate used by SSL Inspection.\n"
          },
          "comment": {
            "type": "string",
            "description": "Optional comments.\n"
          },
          "dot": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileDot:SslsshprofileDot",
            "description": "Configure DNS over TLS options. The structure of `dot` block is documented below.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "echOuterSnis": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSslsshprofileEchOuterSni:SslsshprofileEchOuterSni"
            },
            "description": "ClientHelloOuter SNIs to be blocked. The structure of `ech_outer_sni` block is documented below.\n"
          },
          "ftps": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileFtps:SslsshprofileFtps",
            "description": "Configure FTPS options. The structure of `ftps` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "https": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileHttps:SslsshprofileHttps",
            "description": "Configure HTTPS options. The structure of `https` block is documented below.\n"
          },
          "imaps": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileImaps:SslsshprofileImaps",
            "description": "Configure IMAPS options. The structure of `imaps` block is documented below.\n"
          },
          "mapiOverHttps": {
            "type": "string",
            "description": "Enable/disable inspection of MAPI over HTTPS. Valid values: `enable`, `disable`.\n"
          },
          "name": {
            "type": "string",
            "description": "Name.\n"
          },
          "pop3s": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofilePop3s:SslsshprofilePop3s",
            "description": "Configure POP3S options. The structure of `pop3s` block is documented below.\n"
          },
          "rpcOverHttps": {
            "type": "string",
            "description": "Enable/disable inspection of RPC over HTTPS. Valid values: `enable`, `disable`.\n"
          },
          "serverCert": {
            "type": "string",
            "description": "Certificate used by SSL Inspection to replace server certificate.\n"
          },
          "serverCertMode": {
            "type": "string",
            "description": "Re-sign or replace the server's certificate. Valid values: `re-sign`, `replace`.\n"
          },
          "smtps": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileSmtps:SslsshprofileSmtps",
            "description": "Configure SMTPS options. The structure of `smtps` block is documented below.\n"
          },
          "ssh": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileSsh:SslsshprofileSsh",
            "description": "Configure SSH options. The structure of `ssh` block is documented below.\n"
          },
          "ssl": {
            "$ref": "#/types/fortios:firewall%2FSslsshprofileSsl:SslsshprofileSsl",
            "description": "Configure SSL options. The structure of `ssl` block is documented below.\n"
          },
          "sslAnomaliesLog": {
            "type": "string",
            "description": "Enable/disable logging SSL anomalies. Valid values: `disable`, `enable`.\n"
          },
          "sslAnomalyLog": {
            "type": "string",
            "description": "Enable/disable logging SSL anomalies. Valid values: `disable`, `enable`.\n"
          },
          "sslExemptionIpRating": {
            "type": "string",
            "description": "Enable/disable IP based URL rating. Valid values: `enable`, `disable`.\n"
          },
          "sslExemptionLog": {
            "type": "string",
            "description": "Enable/disable logging SSL exemptions. Valid values: `disable`, `enable`.\n"
          },
          "sslExemptionsLog": {
            "type": "string",
            "description": "Enable/disable logging SSL exemptions. Valid values: `disable`, `enable`.\n"
          },
          "sslExempts": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSslsshprofileSslExempt:SslsshprofileSslExempt"
            },
            "description": "Servers to exempt from SSL inspection. The structure of `ssl_exempt` block is documented below.\n"
          },
          "sslHandshakeLog": {
            "type": "string",
            "description": "Enable/disable logging of TLS handshakes. Valid values: `disable`, `enable`.\n"
          },
          "sslNegotiationLog": {
            "type": "string",
            "description": "Enable/disable logging SSL negotiation. Valid values: `disable`, `enable`.\n"
          },
          "sslServerCertLog": {
            "type": "string",
            "description": "Enable/disable logging of server certificate information. Valid values: `disable`, `enable`.\n"
          },
          "sslServers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FSslsshprofileSslServer:SslsshprofileSslServer"
            },
            "description": "SSL servers. The structure of `ssl_server` block is documented below.\n"
          },
          "supportedAlpn": {
            "type": "string",
            "description": "Configure ALPN option. Valid values: `http1-1`, `http2`, `all`, `none`.\n"
          },
          "untrustedCaname": {
            "type": "string",
            "description": "Untrusted CA certificate used by SSL Inspection.\n"
          },
          "useSslServer": {
            "type": "string",
            "description": "Enable/disable the use of SSL server table for SSL offloading. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "whitelist": {
            "type": "string",
            "description": "Enable/disable exempting servers by FortiGuard whitelist. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/trafficclass:Trafficclass": {
      "description": "Configure names for shaping classes. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nFirewall TrafficClass can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/trafficclass:Trafficclass labelname {{class_id}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/trafficclass:Trafficclass labelname {{class_id}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "classId": {
          "type": "integer",
          "description": "Class ID to be named.\n"
        },
        "className": {
          "type": "string",
          "description": "Define the name for this class-id.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "classId",
        "className",
        "vdomparam"
      ],
      "inputProperties": {
        "classId": {
          "type": "integer",
          "description": "Class ID to be named.\n",
          "willReplaceOnChanges": true
        },
        "className": {
          "type": "string",
          "description": "Define the name for this class-id.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "classId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Trafficclass resources.\n",
        "properties": {
          "classId": {
            "type": "integer",
            "description": "Class ID to be named.\n",
            "willReplaceOnChanges": true
          },
          "className": {
            "type": "string",
            "description": "Define the name for this class-id.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/ttlpolicy:Ttlpolicy": {
      "description": "Configure TTL policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Ttlpolicy(\"trname\", {\n    action: \"accept\",\n    fosid: 1,\n    schedule: \"always\",\n    services: [{\n        name: \"ALL\",\n    }],\n    srcaddrs: [{\n        name: \"all\",\n    }],\n    srcintf: \"port3\",\n    status: \"enable\",\n    ttl: \"23\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Ttlpolicy(\"trname\",\n    action=\"accept\",\n    fosid=1,\n    schedule=\"always\",\n    services=[fortios.firewall.TtlpolicyServiceArgs(\n        name=\"ALL\",\n    )],\n    srcaddrs=[fortios.firewall.TtlpolicySrcaddrArgs(\n        name=\"all\",\n    )],\n    srcintf=\"port3\",\n    status=\"enable\",\n    ttl=\"23\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Ttlpolicy(\"trname\", new()\n    {\n        Action = \"accept\",\n        Fosid = 1,\n        Schedule = \"always\",\n        Services = new[]\n        {\n            new Fortios.Firewall.Inputs.TtlpolicyServiceArgs\n            {\n                Name = \"ALL\",\n            },\n        },\n        Srcaddrs = new[]\n        {\n            new Fortios.Firewall.Inputs.TtlpolicySrcaddrArgs\n            {\n                Name = \"all\",\n            },\n        },\n        Srcintf = \"port3\",\n        Status = \"enable\",\n        Ttl = \"23\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewTtlpolicy(ctx, \"trname\", &firewall.TtlpolicyArgs{\n\t\t\tAction:   pulumi.String(\"accept\"),\n\t\t\tFosid:    pulumi.Int(1),\n\t\t\tSchedule: pulumi.String(\"always\"),\n\t\t\tServices: firewall.TtlpolicyServiceArray{\n\t\t\t\t&firewall.TtlpolicyServiceArgs{\n\t\t\t\t\tName: pulumi.String(\"ALL\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcaddrs: firewall.TtlpolicySrcaddrArray{\n\t\t\t\t&firewall.TtlpolicySrcaddrArgs{\n\t\t\t\t\tName: pulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSrcintf: pulumi.String(\"port3\"),\n\t\t\tStatus:  pulumi.String(\"enable\"),\n\t\t\tTtl:     pulumi.String(\"23\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Ttlpolicy;\nimport com.pulumi.fortios.firewall.TtlpolicyArgs;\nimport com.pulumi.fortios.firewall.inputs.TtlpolicyServiceArgs;\nimport com.pulumi.fortios.firewall.inputs.TtlpolicySrcaddrArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Ttlpolicy(\"trname\", TtlpolicyArgs.builder()\n            .action(\"accept\")\n            .fosid(1)\n            .schedule(\"always\")\n            .services(TtlpolicyServiceArgs.builder()\n                .name(\"ALL\")\n                .build())\n            .srcaddrs(TtlpolicySrcaddrArgs.builder()\n                .name(\"all\")\n                .build())\n            .srcintf(\"port3\")\n            .status(\"enable\")\n            .ttl(\"23\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Ttlpolicy\n    properties:\n      action: accept\n      fosid: 1\n      schedule: always\n      services:\n        - name: ALL\n      srcaddrs:\n        - name: all\n      srcintf: port3\n      status: enable\n      ttl: '23'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall TtlPolicy can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/ttlpolicy:Ttlpolicy labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/ttlpolicy:Ttlpolicy labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Action to be performed on traffic matching this policy (default = deny). Valid values: `accept`, `deny`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule object from available options.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FTtlpolicyService:TtlpolicyService"
          },
          "description": "Service object(s) from available options. Separate multiple names with a space. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FTtlpolicySrcaddr:TtlpolicySrcaddr"
          },
          "description": "Source address object(s) from available options. Separate multiple names with a space. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Source interface name from available interfaces.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this TTL policy. Valid values: `enable`, `disable`.\n"
        },
        "ttl": {
          "type": "string",
          "description": "Value/range to match against the packet's Time to Live value (format: ttl[ - ttl_high], 1 - 255).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "fosid",
        "schedule",
        "services",
        "srcaddrs",
        "srcintf",
        "status",
        "ttl",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Action to be performed on traffic matching this policy (default = deny). Valid values: `accept`, `deny`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "fosid": {
          "type": "integer",
          "description": "ID.\n",
          "willReplaceOnChanges": true
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule object from available options.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FTtlpolicyService:TtlpolicyService"
          },
          "description": "Service object(s) from available options. Separate multiple names with a space. The structure of `service` block is documented below.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FTtlpolicySrcaddr:TtlpolicySrcaddr"
          },
          "description": "Source address object(s) from available options. Separate multiple names with a space. The structure of `srcaddr` block is documented below.\n"
        },
        "srcintf": {
          "type": "string",
          "description": "Source interface name from available interfaces.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this TTL policy. Valid values: `enable`, `disable`.\n"
        },
        "ttl": {
          "type": "string",
          "description": "Value/range to match against the packet's Time to Live value (format: ttl[ - ttl_high], 1 - 255).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "fosid",
        "schedule",
        "services",
        "srcaddrs",
        "srcintf",
        "ttl"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ttlpolicy resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Action to be performed on traffic matching this policy (default = deny). Valid values: `accept`, `deny`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "fosid": {
            "type": "integer",
            "description": "ID.\n",
            "willReplaceOnChanges": true
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "schedule": {
            "type": "string",
            "description": "Schedule object from available options.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FTtlpolicyService:TtlpolicyService"
            },
            "description": "Service object(s) from available options. Separate multiple names with a space. The structure of `service` block is documented below.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FTtlpolicySrcaddr:TtlpolicySrcaddr"
            },
            "description": "Source address object(s) from available options. Separate multiple names with a space. The structure of `srcaddr` block is documented below.\n"
          },
          "srcintf": {
            "type": "string",
            "description": "Source interface name from available interfaces.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this TTL policy. Valid values: `enable`, `disable`.\n"
          },
          "ttl": {
            "type": "string",
            "description": "Value/range to match against the packet's Time to Live value (format: ttl[ - ttl_high], 1 - 255).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/vendormac:Vendormac": {
      "description": "Show vendor and the MAC address they have. Applies to FortiOS Version `>= 6.4.0`.\n\n## Import\n\nFirewall VendorMac can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/vendormac:Vendormac labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/vendormac:Vendormac labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Vendor ID.\n"
        },
        "macNumber": {
          "type": "integer",
          "description": "Total number of MAC addresses.\n"
        },
        "name": {
          "type": "string",
          "description": "Vendor name.\n"
        },
        "obsolete": {
          "type": "integer",
          "description": "Indicates whether the Vendor ID can be used.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "macNumber",
        "name",
        "obsolete",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "Vendor ID.\n"
        },
        "macNumber": {
          "type": "integer",
          "description": "Total number of MAC addresses.\n"
        },
        "name": {
          "type": "string",
          "description": "Vendor name.\n"
        },
        "obsolete": {
          "type": "integer",
          "description": "Indicates whether the Vendor ID can be used.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vendormac resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Vendor ID.\n"
          },
          "macNumber": {
            "type": "integer",
            "description": "Total number of MAC addresses.\n"
          },
          "name": {
            "type": "string",
            "description": "Vendor name.\n"
          },
          "obsolete": {
            "type": "integer",
            "description": "Indicates whether the Vendor ID can be used.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/vip46:Vip46": {
      "description": "Configure IPv4 to IPv6 virtual IPs. Applies to FortiOS Version `<= 7.0.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Vip46(\"trname\", {\n    arpReply: \"enable\",\n    color: 0,\n    extip: \"10.202.1.200\",\n    extport: \"0-65535\",\n    fosid: 0,\n    ldbMethod: \"static\",\n    mappedip: \"2001:1:1:2::200\",\n    mappedport: \"0-65535\",\n    portforward: \"disable\",\n    protocol: \"tcp\",\n    type: \"static-nat\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Vip46(\"trname\",\n    arp_reply=\"enable\",\n    color=0,\n    extip=\"10.202.1.200\",\n    extport=\"0-65535\",\n    fosid=0,\n    ldb_method=\"static\",\n    mappedip=\"2001:1:1:2::200\",\n    mappedport=\"0-65535\",\n    portforward=\"disable\",\n    protocol=\"tcp\",\n    type=\"static-nat\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Vip46(\"trname\", new()\n    {\n        ArpReply = \"enable\",\n        Color = 0,\n        Extip = \"10.202.1.200\",\n        Extport = \"0-65535\",\n        Fosid = 0,\n        LdbMethod = \"static\",\n        Mappedip = \"2001:1:1:2::200\",\n        Mappedport = \"0-65535\",\n        Portforward = \"disable\",\n        Protocol = \"tcp\",\n        Type = \"static-nat\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewVip46(ctx, \"trname\", &firewall.Vip46Args{\n\t\t\tArpReply:    pulumi.String(\"enable\"),\n\t\t\tColor:       pulumi.Int(0),\n\t\t\tExtip:       pulumi.String(\"10.202.1.200\"),\n\t\t\tExtport:     pulumi.String(\"0-65535\"),\n\t\t\tFosid:       pulumi.Int(0),\n\t\t\tLdbMethod:   pulumi.String(\"static\"),\n\t\t\tMappedip:    pulumi.String(\"2001:1:1:2::200\"),\n\t\t\tMappedport:  pulumi.String(\"0-65535\"),\n\t\t\tPortforward: pulumi.String(\"disable\"),\n\t\t\tProtocol:    pulumi.String(\"tcp\"),\n\t\t\tType:        pulumi.String(\"static-nat\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Vip46;\nimport com.pulumi.fortios.firewall.Vip46Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Vip46(\"trname\", Vip46Args.builder()\n            .arpReply(\"enable\")\n            .color(0)\n            .extip(\"10.202.1.200\")\n            .extport(\"0-65535\")\n            .fosid(0)\n            .ldbMethod(\"static\")\n            .mappedip(\"2001:1:1:2::200\")\n            .mappedport(\"0-65535\")\n            .portforward(\"disable\")\n            .protocol(\"tcp\")\n            .type(\"static-nat\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Vip46\n    properties:\n      arpReply: enable\n      color: 0\n      extip: 10.202.1.200\n      extport: 0-65535\n      fosid: 0\n      ldbMethod: static\n      mappedip: 2001:1:1:2::200\n      mappedport: 0-65535\n      portforward: disable\n      protocol: tcp\n      type: static-nat\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Vip46 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/vip46:Vip46 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/vip46:Vip46 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "arpReply": {
          "type": "string",
          "description": "Enable ARP reply. Valid values: `disable`, `enable`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extip": {
          "type": "string",
          "description": "Start-external-IP [-end-external-IP].\n"
        },
        "extport": {
          "type": "string",
          "description": "External service port.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Custom defined id.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Load balance method. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`.\n"
        },
        "mappedip": {
          "type": "string",
          "description": "Start-mapped-IP [-end mapped-IP].\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Mapped service port.\n"
        },
        "monitors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip46Monitor:Vip46Monitor"
          },
          "description": "Health monitors. The structure of `monitor` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP46 name.\n"
        },
        "portforward": {
          "type": "string",
          "description": "Enable port forwarding. Valid values: `disable`, `enable`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Mapped port protocol. Valid values: `tcp`, `udp`.\n"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip46Realserver:Vip46Realserver"
          },
          "description": "Real servers. The structure of `realservers` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Server type. Valid values: `http`, `tcp`, `udp`, `ip`.\n"
        },
        "srcFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip46SrcFilter:Vip46SrcFilter"
          },
          "description": "Source IP filter (x.x.x.x/x). The structure of `src_filter` block is documented below.\n"
        },
        "srcintfFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip46SrcintfFilter:Vip46SrcintfFilter"
          },
          "description": "Interfaces to which the VIP46 applies. Separate the names with spaces. The structure of `srcintf_filter` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "VIP type: static NAT or server load balance. Valid values: `static-nat`, `server-load-balance`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "arpReply",
        "color",
        "extip",
        "extport",
        "fosid",
        "ldbMethod",
        "mappedip",
        "mappedport",
        "name",
        "portforward",
        "protocol",
        "serverType",
        "type",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "arpReply": {
          "type": "string",
          "description": "Enable ARP reply. Valid values: `disable`, `enable`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extip": {
          "type": "string",
          "description": "Start-external-IP [-end-external-IP].\n"
        },
        "extport": {
          "type": "string",
          "description": "External service port.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Custom defined id.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Load balance method. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`.\n"
        },
        "mappedip": {
          "type": "string",
          "description": "Start-mapped-IP [-end mapped-IP].\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Mapped service port.\n"
        },
        "monitors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip46Monitor:Vip46Monitor"
          },
          "description": "Health monitors. The structure of `monitor` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP46 name.\n"
        },
        "portforward": {
          "type": "string",
          "description": "Enable port forwarding. Valid values: `disable`, `enable`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Mapped port protocol. Valid values: `tcp`, `udp`.\n"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip46Realserver:Vip46Realserver"
          },
          "description": "Real servers. The structure of `realservers` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Server type. Valid values: `http`, `tcp`, `udp`, `ip`.\n"
        },
        "srcFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip46SrcFilter:Vip46SrcFilter"
          },
          "description": "Source IP filter (x.x.x.x/x). The structure of `src_filter` block is documented below.\n"
        },
        "srcintfFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip46SrcintfFilter:Vip46SrcintfFilter"
          },
          "description": "Interfaces to which the VIP46 applies. Separate the names with spaces. The structure of `srcintf_filter` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "VIP type: static NAT or server load balance. Valid values: `static-nat`, `server-load-balance`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "extip",
        "mappedip"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vip46 resources.\n",
        "properties": {
          "arpReply": {
            "type": "string",
            "description": "Enable ARP reply. Valid values: `disable`, `enable`.\n"
          },
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "extip": {
            "type": "string",
            "description": "Start-external-IP [-end-external-IP].\n"
          },
          "extport": {
            "type": "string",
            "description": "External service port.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Custom defined id.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ldbMethod": {
            "type": "string",
            "description": "Load balance method. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`.\n"
          },
          "mappedip": {
            "type": "string",
            "description": "Start-mapped-IP [-end mapped-IP].\n"
          },
          "mappedport": {
            "type": "string",
            "description": "Mapped service port.\n"
          },
          "monitors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip46Monitor:Vip46Monitor"
            },
            "description": "Health monitors. The structure of `monitor` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "VIP46 name.\n"
          },
          "portforward": {
            "type": "string",
            "description": "Enable port forwarding. Valid values: `disable`, `enable`.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Mapped port protocol. Valid values: `tcp`, `udp`.\n"
          },
          "realservers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip46Realserver:Vip46Realserver"
            },
            "description": "Real servers. The structure of `realservers` block is documented below.\n"
          },
          "serverType": {
            "type": "string",
            "description": "Server type. Valid values: `http`, `tcp`, `udp`, `ip`.\n"
          },
          "srcFilters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip46SrcFilter:Vip46SrcFilter"
            },
            "description": "Source IP filter (x.x.x.x/x). The structure of `src_filter` block is documented below.\n"
          },
          "srcintfFilters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip46SrcintfFilter:Vip46SrcintfFilter"
            },
            "description": "Interfaces to which the VIP46 applies. Separate the names with spaces. The structure of `srcintf_filter` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "VIP type: static NAT or server load balance. Valid values: `static-nat`, `server-load-balance`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/vip64:Vip64": {
      "description": "Configure IPv6 to IPv4 virtual IPs. Applies to FortiOS Version `<= 7.0.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Vip64(\"trname\", {\n    arpReply: \"enable\",\n    color: 0,\n    extip: \"2001:db8:99:203::22\",\n    extport: \"0-65535\",\n    fosid: 0,\n    ldbMethod: \"static\",\n    mappedip: \"1.1.1.1\",\n    mappedport: \"0-65535\",\n    portforward: \"disable\",\n    protocol: \"tcp\",\n    type: \"static-nat\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Vip64(\"trname\",\n    arp_reply=\"enable\",\n    color=0,\n    extip=\"2001:db8:99:203::22\",\n    extport=\"0-65535\",\n    fosid=0,\n    ldb_method=\"static\",\n    mappedip=\"1.1.1.1\",\n    mappedport=\"0-65535\",\n    portforward=\"disable\",\n    protocol=\"tcp\",\n    type=\"static-nat\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Vip64(\"trname\", new()\n    {\n        ArpReply = \"enable\",\n        Color = 0,\n        Extip = \"2001:db8:99:203::22\",\n        Extport = \"0-65535\",\n        Fosid = 0,\n        LdbMethod = \"static\",\n        Mappedip = \"1.1.1.1\",\n        Mappedport = \"0-65535\",\n        Portforward = \"disable\",\n        Protocol = \"tcp\",\n        Type = \"static-nat\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewVip64(ctx, \"trname\", &firewall.Vip64Args{\n\t\t\tArpReply:    pulumi.String(\"enable\"),\n\t\t\tColor:       pulumi.Int(0),\n\t\t\tExtip:       pulumi.String(\"2001:db8:99:203::22\"),\n\t\t\tExtport:     pulumi.String(\"0-65535\"),\n\t\t\tFosid:       pulumi.Int(0),\n\t\t\tLdbMethod:   pulumi.String(\"static\"),\n\t\t\tMappedip:    pulumi.String(\"1.1.1.1\"),\n\t\t\tMappedport:  pulumi.String(\"0-65535\"),\n\t\t\tPortforward: pulumi.String(\"disable\"),\n\t\t\tProtocol:    pulumi.String(\"tcp\"),\n\t\t\tType:        pulumi.String(\"static-nat\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Vip64;\nimport com.pulumi.fortios.firewall.Vip64Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Vip64(\"trname\", Vip64Args.builder()\n            .arpReply(\"enable\")\n            .color(0)\n            .extip(\"2001:db8:99:203::22\")\n            .extport(\"0-65535\")\n            .fosid(0)\n            .ldbMethod(\"static\")\n            .mappedip(\"1.1.1.1\")\n            .mappedport(\"0-65535\")\n            .portforward(\"disable\")\n            .protocol(\"tcp\")\n            .type(\"static-nat\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Vip64\n    properties:\n      arpReply: enable\n      color: 0\n      extip: 2001:db8:99:203::22\n      extport: 0-65535\n      fosid: 0\n      ldbMethod: static\n      mappedip: 1.1.1.1\n      mappedport: 0-65535\n      portforward: disable\n      protocol: tcp\n      type: static-nat\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Vip64 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/vip64:Vip64 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/vip64:Vip64 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "arpReply": {
          "type": "string",
          "description": "Enable ARP reply. Valid values: `disable`, `enable`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extip": {
          "type": "string",
          "description": "Start-external-IP [-end-external-IP].\n"
        },
        "extport": {
          "type": "string",
          "description": "External service port.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Custom defined id.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Load balance method. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`.\n"
        },
        "mappedip": {
          "type": "string",
          "description": "Start-mapped-IP [-end-mapped-IP].\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Mapped service port.\n"
        },
        "monitors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip64Monitor:Vip64Monitor"
          },
          "description": "Health monitors. The structure of `monitor` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP64 name.\n"
        },
        "portforward": {
          "type": "string",
          "description": "Enable port forwarding. Valid values: `disable`, `enable`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Mapped port protocol. Valid values: `tcp`, `udp`.\n"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip64Realserver:Vip64Realserver"
          },
          "description": "Real servers. The structure of `realservers` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Server type. Valid values: `http`, `tcp`, `udp`, `ip`.\n"
        },
        "srcFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip64SrcFilter:Vip64SrcFilter"
          },
          "description": "Source IP6 filter (x:x:x:x:x:x:x:x/x). The structure of `src_filter` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "VIP type: static NAT or server load balance. Valid values: `static-nat`, `server-load-balance`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "arpReply",
        "color",
        "extip",
        "extport",
        "fosid",
        "ldbMethod",
        "mappedip",
        "mappedport",
        "name",
        "portforward",
        "protocol",
        "serverType",
        "type",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "arpReply": {
          "type": "string",
          "description": "Enable ARP reply. Valid values: `disable`, `enable`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extip": {
          "type": "string",
          "description": "Start-external-IP [-end-external-IP].\n"
        },
        "extport": {
          "type": "string",
          "description": "External service port.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Custom defined id.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Load balance method. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`.\n"
        },
        "mappedip": {
          "type": "string",
          "description": "Start-mapped-IP [-end-mapped-IP].\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Mapped service port.\n"
        },
        "monitors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip64Monitor:Vip64Monitor"
          },
          "description": "Health monitors. The structure of `monitor` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP64 name.\n"
        },
        "portforward": {
          "type": "string",
          "description": "Enable port forwarding. Valid values: `disable`, `enable`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Mapped port protocol. Valid values: `tcp`, `udp`.\n"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip64Realserver:Vip64Realserver"
          },
          "description": "Real servers. The structure of `realservers` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Server type. Valid values: `http`, `tcp`, `udp`, `ip`.\n"
        },
        "srcFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip64SrcFilter:Vip64SrcFilter"
          },
          "description": "Source IP6 filter (x:x:x:x:x:x:x:x/x). The structure of `src_filter` block is documented below.\n"
        },
        "type": {
          "type": "string",
          "description": "VIP type: static NAT or server load balance. Valid values: `static-nat`, `server-load-balance`.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "extip",
        "mappedip"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vip64 resources.\n",
        "properties": {
          "arpReply": {
            "type": "string",
            "description": "Enable ARP reply. Valid values: `disable`, `enable`.\n"
          },
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "extip": {
            "type": "string",
            "description": "Start-external-IP [-end-external-IP].\n"
          },
          "extport": {
            "type": "string",
            "description": "External service port.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Custom defined id.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ldbMethod": {
            "type": "string",
            "description": "Load balance method. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`.\n"
          },
          "mappedip": {
            "type": "string",
            "description": "Start-mapped-IP [-end-mapped-IP].\n"
          },
          "mappedport": {
            "type": "string",
            "description": "Mapped service port.\n"
          },
          "monitors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip64Monitor:Vip64Monitor"
            },
            "description": "Health monitors. The structure of `monitor` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "VIP64 name.\n"
          },
          "portforward": {
            "type": "string",
            "description": "Enable port forwarding. Valid values: `disable`, `enable`.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Mapped port protocol. Valid values: `tcp`, `udp`.\n"
          },
          "realservers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip64Realserver:Vip64Realserver"
            },
            "description": "Real servers. The structure of `realservers` block is documented below.\n"
          },
          "serverType": {
            "type": "string",
            "description": "Server type. Valid values: `http`, `tcp`, `udp`, `ip`.\n"
          },
          "srcFilters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip64SrcFilter:Vip64SrcFilter"
            },
            "description": "Source IP6 filter (x:x:x:x:x:x:x:x/x). The structure of `src_filter` block is documented below.\n"
          },
          "type": {
            "type": "string",
            "description": "VIP type: static NAT or server load balance. Valid values: `static-nat`, `server-load-balance`.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/vip6:Vip6": {
      "description": "Configure virtual IP for IPv6.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Vip6(\"trname\", {\n    arpReply: \"enable\",\n    color: 0,\n    extip: \"2001:1:1:12::100\",\n    extport: \"0-65535\",\n    fosid: 0,\n    httpCookieAge: 60,\n    httpCookieDomainFromHost: \"disable\",\n    httpCookieGeneration: 0,\n    httpCookieShare: \"same-ip\",\n    httpIpHeader: \"disable\",\n    httpMultiplex: \"disable\",\n    httpsCookieSecure: \"disable\",\n    ldbMethod: \"static\",\n    mappedip: \"2001:1:1:12::200\",\n    mappedport: \"0-65535\",\n    maxEmbryonicConnections: 1000,\n    outlookWebAccess: \"disable\",\n    persistence: \"none\",\n    portforward: \"disable\",\n    protocol: \"tcp\",\n    sslAlgorithm: \"high\",\n    sslClientFallback: \"enable\",\n    sslClientRenegotiation: \"secure\",\n    sslClientSessionStateMax: 1000,\n    sslClientSessionStateTimeout: 30,\n    sslClientSessionStateType: \"both\",\n    sslDhBits: \"2048\",\n    sslHpkp: \"disable\",\n    sslHpkpAge: 5184000,\n    sslHpkpIncludeSubdomains: \"disable\",\n    sslHsts: \"disable\",\n    sslHstsAge: 5184000,\n    sslHstsIncludeSubdomains: \"disable\",\n    sslHttpLocationConversion: \"disable\",\n    sslHttpMatchHost: \"enable\",\n    sslMaxVersion: \"tls-1.2\",\n    sslMinVersion: \"tls-1.1\",\n    sslMode: \"half\",\n    sslPfs: \"require\",\n    sslSendEmptyFrags: \"enable\",\n    sslServerAlgorithm: \"client\",\n    sslServerMaxVersion: \"client\",\n    sslServerMinVersion: \"client\",\n    sslServerSessionStateMax: 100,\n    sslServerSessionStateTimeout: 60,\n    sslServerSessionStateType: \"both\",\n    type: \"static-nat\",\n    weblogicServer: \"disable\",\n    websphereServer: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Vip6(\"trname\",\n    arp_reply=\"enable\",\n    color=0,\n    extip=\"2001:1:1:12::100\",\n    extport=\"0-65535\",\n    fosid=0,\n    http_cookie_age=60,\n    http_cookie_domain_from_host=\"disable\",\n    http_cookie_generation=0,\n    http_cookie_share=\"same-ip\",\n    http_ip_header=\"disable\",\n    http_multiplex=\"disable\",\n    https_cookie_secure=\"disable\",\n    ldb_method=\"static\",\n    mappedip=\"2001:1:1:12::200\",\n    mappedport=\"0-65535\",\n    max_embryonic_connections=1000,\n    outlook_web_access=\"disable\",\n    persistence=\"none\",\n    portforward=\"disable\",\n    protocol=\"tcp\",\n    ssl_algorithm=\"high\",\n    ssl_client_fallback=\"enable\",\n    ssl_client_renegotiation=\"secure\",\n    ssl_client_session_state_max=1000,\n    ssl_client_session_state_timeout=30,\n    ssl_client_session_state_type=\"both\",\n    ssl_dh_bits=\"2048\",\n    ssl_hpkp=\"disable\",\n    ssl_hpkp_age=5184000,\n    ssl_hpkp_include_subdomains=\"disable\",\n    ssl_hsts=\"disable\",\n    ssl_hsts_age=5184000,\n    ssl_hsts_include_subdomains=\"disable\",\n    ssl_http_location_conversion=\"disable\",\n    ssl_http_match_host=\"enable\",\n    ssl_max_version=\"tls-1.2\",\n    ssl_min_version=\"tls-1.1\",\n    ssl_mode=\"half\",\n    ssl_pfs=\"require\",\n    ssl_send_empty_frags=\"enable\",\n    ssl_server_algorithm=\"client\",\n    ssl_server_max_version=\"client\",\n    ssl_server_min_version=\"client\",\n    ssl_server_session_state_max=100,\n    ssl_server_session_state_timeout=60,\n    ssl_server_session_state_type=\"both\",\n    type=\"static-nat\",\n    weblogic_server=\"disable\",\n    websphere_server=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Vip6(\"trname\", new()\n    {\n        ArpReply = \"enable\",\n        Color = 0,\n        Extip = \"2001:1:1:12::100\",\n        Extport = \"0-65535\",\n        Fosid = 0,\n        HttpCookieAge = 60,\n        HttpCookieDomainFromHost = \"disable\",\n        HttpCookieGeneration = 0,\n        HttpCookieShare = \"same-ip\",\n        HttpIpHeader = \"disable\",\n        HttpMultiplex = \"disable\",\n        HttpsCookieSecure = \"disable\",\n        LdbMethod = \"static\",\n        Mappedip = \"2001:1:1:12::200\",\n        Mappedport = \"0-65535\",\n        MaxEmbryonicConnections = 1000,\n        OutlookWebAccess = \"disable\",\n        Persistence = \"none\",\n        Portforward = \"disable\",\n        Protocol = \"tcp\",\n        SslAlgorithm = \"high\",\n        SslClientFallback = \"enable\",\n        SslClientRenegotiation = \"secure\",\n        SslClientSessionStateMax = 1000,\n        SslClientSessionStateTimeout = 30,\n        SslClientSessionStateType = \"both\",\n        SslDhBits = \"2048\",\n        SslHpkp = \"disable\",\n        SslHpkpAge = 5184000,\n        SslHpkpIncludeSubdomains = \"disable\",\n        SslHsts = \"disable\",\n        SslHstsAge = 5184000,\n        SslHstsIncludeSubdomains = \"disable\",\n        SslHttpLocationConversion = \"disable\",\n        SslHttpMatchHost = \"enable\",\n        SslMaxVersion = \"tls-1.2\",\n        SslMinVersion = \"tls-1.1\",\n        SslMode = \"half\",\n        SslPfs = \"require\",\n        SslSendEmptyFrags = \"enable\",\n        SslServerAlgorithm = \"client\",\n        SslServerMaxVersion = \"client\",\n        SslServerMinVersion = \"client\",\n        SslServerSessionStateMax = 100,\n        SslServerSessionStateTimeout = 60,\n        SslServerSessionStateType = \"both\",\n        Type = \"static-nat\",\n        WeblogicServer = \"disable\",\n        WebsphereServer = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewVip6(ctx, \"trname\", &firewall.Vip6Args{\n\t\t\tArpReply:                     pulumi.String(\"enable\"),\n\t\t\tColor:                        pulumi.Int(0),\n\t\t\tExtip:                        pulumi.String(\"2001:1:1:12::100\"),\n\t\t\tExtport:                      pulumi.String(\"0-65535\"),\n\t\t\tFosid:                        pulumi.Int(0),\n\t\t\tHttpCookieAge:                pulumi.Int(60),\n\t\t\tHttpCookieDomainFromHost:     pulumi.String(\"disable\"),\n\t\t\tHttpCookieGeneration:         pulumi.Int(0),\n\t\t\tHttpCookieShare:              pulumi.String(\"same-ip\"),\n\t\t\tHttpIpHeader:                 pulumi.String(\"disable\"),\n\t\t\tHttpMultiplex:                pulumi.String(\"disable\"),\n\t\t\tHttpsCookieSecure:            pulumi.String(\"disable\"),\n\t\t\tLdbMethod:                    pulumi.String(\"static\"),\n\t\t\tMappedip:                     pulumi.String(\"2001:1:1:12::200\"),\n\t\t\tMappedport:                   pulumi.String(\"0-65535\"),\n\t\t\tMaxEmbryonicConnections:      pulumi.Int(1000),\n\t\t\tOutlookWebAccess:             pulumi.String(\"disable\"),\n\t\t\tPersistence:                  pulumi.String(\"none\"),\n\t\t\tPortforward:                  pulumi.String(\"disable\"),\n\t\t\tProtocol:                     pulumi.String(\"tcp\"),\n\t\t\tSslAlgorithm:                 pulumi.String(\"high\"),\n\t\t\tSslClientFallback:            pulumi.String(\"enable\"),\n\t\t\tSslClientRenegotiation:       pulumi.String(\"secure\"),\n\t\t\tSslClientSessionStateMax:     pulumi.Int(1000),\n\t\t\tSslClientSessionStateTimeout: pulumi.Int(30),\n\t\t\tSslClientSessionStateType:    pulumi.String(\"both\"),\n\t\t\tSslDhBits:                    pulumi.String(\"2048\"),\n\t\t\tSslHpkp:                      pulumi.String(\"disable\"),\n\t\t\tSslHpkpAge:                   pulumi.Int(5184000),\n\t\t\tSslHpkpIncludeSubdomains:     pulumi.String(\"disable\"),\n\t\t\tSslHsts:                      pulumi.String(\"disable\"),\n\t\t\tSslHstsAge:                   pulumi.Int(5184000),\n\t\t\tSslHstsIncludeSubdomains:     pulumi.String(\"disable\"),\n\t\t\tSslHttpLocationConversion:    pulumi.String(\"disable\"),\n\t\t\tSslHttpMatchHost:             pulumi.String(\"enable\"),\n\t\t\tSslMaxVersion:                pulumi.String(\"tls-1.2\"),\n\t\t\tSslMinVersion:                pulumi.String(\"tls-1.1\"),\n\t\t\tSslMode:                      pulumi.String(\"half\"),\n\t\t\tSslPfs:                       pulumi.String(\"require\"),\n\t\t\tSslSendEmptyFrags:            pulumi.String(\"enable\"),\n\t\t\tSslServerAlgorithm:           pulumi.String(\"client\"),\n\t\t\tSslServerMaxVersion:          pulumi.String(\"client\"),\n\t\t\tSslServerMinVersion:          pulumi.String(\"client\"),\n\t\t\tSslServerSessionStateMax:     pulumi.Int(100),\n\t\t\tSslServerSessionStateTimeout: pulumi.Int(60),\n\t\t\tSslServerSessionStateType:    pulumi.String(\"both\"),\n\t\t\tType:                         pulumi.String(\"static-nat\"),\n\t\t\tWeblogicServer:               pulumi.String(\"disable\"),\n\t\t\tWebsphereServer:              pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Vip6;\nimport com.pulumi.fortios.firewall.Vip6Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Vip6(\"trname\", Vip6Args.builder()\n            .arpReply(\"enable\")\n            .color(0)\n            .extip(\"2001:1:1:12::100\")\n            .extport(\"0-65535\")\n            .fosid(0)\n            .httpCookieAge(60)\n            .httpCookieDomainFromHost(\"disable\")\n            .httpCookieGeneration(0)\n            .httpCookieShare(\"same-ip\")\n            .httpIpHeader(\"disable\")\n            .httpMultiplex(\"disable\")\n            .httpsCookieSecure(\"disable\")\n            .ldbMethod(\"static\")\n            .mappedip(\"2001:1:1:12::200\")\n            .mappedport(\"0-65535\")\n            .maxEmbryonicConnections(1000)\n            .outlookWebAccess(\"disable\")\n            .persistence(\"none\")\n            .portforward(\"disable\")\n            .protocol(\"tcp\")\n            .sslAlgorithm(\"high\")\n            .sslClientFallback(\"enable\")\n            .sslClientRenegotiation(\"secure\")\n            .sslClientSessionStateMax(1000)\n            .sslClientSessionStateTimeout(30)\n            .sslClientSessionStateType(\"both\")\n            .sslDhBits(\"2048\")\n            .sslHpkp(\"disable\")\n            .sslHpkpAge(5184000)\n            .sslHpkpIncludeSubdomains(\"disable\")\n            .sslHsts(\"disable\")\n            .sslHstsAge(5184000)\n            .sslHstsIncludeSubdomains(\"disable\")\n            .sslHttpLocationConversion(\"disable\")\n            .sslHttpMatchHost(\"enable\")\n            .sslMaxVersion(\"tls-1.2\")\n            .sslMinVersion(\"tls-1.1\")\n            .sslMode(\"half\")\n            .sslPfs(\"require\")\n            .sslSendEmptyFrags(\"enable\")\n            .sslServerAlgorithm(\"client\")\n            .sslServerMaxVersion(\"client\")\n            .sslServerMinVersion(\"client\")\n            .sslServerSessionStateMax(100)\n            .sslServerSessionStateTimeout(60)\n            .sslServerSessionStateType(\"both\")\n            .type(\"static-nat\")\n            .weblogicServer(\"disable\")\n            .websphereServer(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Vip6\n    properties:\n      arpReply: enable\n      color: 0\n      extip: 2001:1:1:12::100\n      extport: 0-65535\n      fosid: 0\n      httpCookieAge: 60\n      httpCookieDomainFromHost: disable\n      httpCookieGeneration: 0\n      httpCookieShare: same-ip\n      httpIpHeader: disable\n      httpMultiplex: disable\n      httpsCookieSecure: disable\n      ldbMethod: static\n      mappedip: 2001:1:1:12::200\n      mappedport: 0-65535\n      maxEmbryonicConnections: 1000\n      outlookWebAccess: disable\n      persistence: none\n      portforward: disable\n      protocol: tcp\n      sslAlgorithm: high\n      sslClientFallback: enable\n      sslClientRenegotiation: secure\n      sslClientSessionStateMax: 1000\n      sslClientSessionStateTimeout: 30\n      sslClientSessionStateType: both\n      sslDhBits: '2048'\n      sslHpkp: disable\n      sslHpkpAge: 5.184e+06\n      sslHpkpIncludeSubdomains: disable\n      sslHsts: disable\n      sslHstsAge: 5.184e+06\n      sslHstsIncludeSubdomains: disable\n      sslHttpLocationConversion: disable\n      sslHttpMatchHost: enable\n      sslMaxVersion: tls-1.2\n      sslMinVersion: tls-1.1\n      sslMode: half\n      sslPfs: require\n      sslSendEmptyFrags: enable\n      sslServerAlgorithm: client\n      sslServerMaxVersion: client\n      sslServerMinVersion: client\n      sslServerSessionStateMax: 100\n      sslServerSessionStateTimeout: 60\n      sslServerSessionStateType: both\n      type: static-nat\n      weblogicServer: disable\n      websphereServer: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Vip6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/vip6:Vip6 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/vip6:Vip6 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addNat64Route": {
          "type": "string",
          "description": "Enable/disable adding NAT64 route. Valid values: `disable`, `enable`.\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable to respond to ARP requests for this virtual IP address. Enabled by default. Valid values: `disable`, `enable`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "embeddedIpv4Address": {
          "type": "string",
          "description": "Enable/disable embedded IPv4 address. Valid values: `disable`, `enable`.\n"
        },
        "extip": {
          "type": "string",
          "description": "IP address or address range on the external interface that you want to map to an address or address range on the destination network.\n"
        },
        "extport": {
          "type": "string",
          "description": "Incoming port number range that you want to map to a port number range on the destination network.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Custom defined ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "h2Support": {
          "type": "string",
          "description": "Enable/disable HTTP2 support (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "h3Support": {
          "type": "string",
          "description": "Enable/disable HTTP3/QUIC support (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "httpCookieAge": {
          "type": "integer",
          "description": "Time in minutes that client web browsers should keep a cookie. Default is 60 seconds. 0 = no time limit.\n"
        },
        "httpCookieDomain": {
          "type": "string",
          "description": "Domain that HTTP cookie persistence should apply to.\n"
        },
        "httpCookieDomainFromHost": {
          "type": "string",
          "description": "Enable/disable use of HTTP cookie domain from host field in HTTP. Valid values: `disable`, `enable`.\n"
        },
        "httpCookieGeneration": {
          "type": "integer",
          "description": "Generation of HTTP cookie to be accepted. Changing invalidates all existing cookies.\n"
        },
        "httpCookiePath": {
          "type": "string",
          "description": "Limit HTTP cookie persistence to the specified path.\n"
        },
        "httpCookieShare": {
          "type": "string",
          "description": "Control sharing of cookies across virtual servers. same-ip means a cookie from one virtual server can be used by another. Disable stops cookie sharing. Valid values: `disable`, `same-ip`.\n"
        },
        "httpIpHeader": {
          "type": "string",
          "description": "For HTTP multiplexing, enable to add the original client IP address in the XForwarded-For HTTP header. Valid values: `enable`, `disable`.\n"
        },
        "httpIpHeaderName": {
          "type": "string",
          "description": "For HTTP multiplexing, enter a custom HTTPS header name. The original client IP address is added to this header. If empty, X-Forwarded-For is used.\n"
        },
        "httpMultiplex": {
          "type": "string",
          "description": "Enable/disable HTTP multiplexing. Valid values: `enable`, `disable`.\n"
        },
        "httpRedirect": {
          "type": "string",
          "description": "Enable/disable redirection of HTTP to HTTPS Valid values: `enable`, `disable`.\n"
        },
        "httpsCookieSecure": {
          "type": "string",
          "description": "Enable/disable verification that inserted HTTPS cookies are secure. Valid values: `disable`, `enable`.\n"
        },
        "ipv4Mappedip": {
          "type": "string",
          "description": "Start-mapped-IPv4-address [-end mapped-IPv4-address].\n"
        },
        "ipv4Mappedport": {
          "type": "string",
          "description": "IPv4 port number range on the destination network to which the external port number range is mapped.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Method used to distribute sessions to real servers. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`, `http-host`.\n"
        },
        "mappedip": {
          "type": "string",
          "description": "Mapped IP address range in the format startIP-endIP.\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Port number range on the destination network to which the external port number range is mapped.\n"
        },
        "maxEmbryonicConnections": {
          "type": "integer",
          "description": "Maximum number of incomplete connections.\n"
        },
        "monitors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip6Monitor:Vip6Monitor"
          },
          "description": "Name of the health check monitor to use when polling to determine a virtual server's connectivity status. The structure of `monitor` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual ip6 name.\n"
        },
        "nat64": {
          "type": "string",
          "description": "Enable/disable DNAT64. Valid values: `disable`, `enable`.\n"
        },
        "nat66": {
          "type": "string",
          "description": "Enable/disable DNAT66. Valid values: `disable`, `enable`.\n"
        },
        "natSourceVip": {
          "type": "string",
          "description": "Enable to perform SNAT on traffic from mappedip to the extip for all egress interfaces. Valid values: `disable`, `enable`.\n"
        },
        "ndpReply": {
          "type": "string",
          "description": "Enable/disable this FortiGate unit's ability to respond to NDP requests for this virtual IP address (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "outlookWebAccess": {
          "type": "string",
          "description": "Enable to add the Front-End-Https header for Microsoft Outlook Web Access. Valid values: `disable`, `enable`.\n"
        },
        "persistence": {
          "type": "string",
          "description": "Configure how to make sure that clients connect to the same server every time they make a request that is part of the same session. Valid values: `none`, `http-cookie`, `ssl-session-id`.\n"
        },
        "portforward": {
          "type": "string",
          "description": "Enable port forwarding. Valid values: `disable`, `enable`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol to use when forwarding packets. Valid values: `tcp`, `udp`, `sctp`.\n"
        },
        "quic": {
          "$ref": "#/types/fortios:firewall%2FVip6Quic:Vip6Quic",
          "description": "QUIC setting. The structure of `quic` block is documented below.\n"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip6Realserver:Vip6Realserver"
          },
          "description": "Select the real servers that this server load balancing VIP will distribute traffic to. The structure of `realservers` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Protocol to be load balanced by the virtual server (also called the server load balance virtual IP). Valid values: `http`, `https`, `imaps`, `pop3s`, `smtps`, `ssl`, `tcp`, `udp`, `ip`.\n"
        },
        "srcFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip6SrcFilter:Vip6SrcFilter"
          },
          "description": "Source IP6 filter (x:x:x:x:x:x:x:x/x). Separate addresses with spaces. The structure of `src_filter` block is documented below.\n"
        },
        "srcVipFilter": {
          "type": "string",
          "description": "Enable/disable use of 'src-filter' to match destinations for the reverse SNAT rule. Valid values: `disable`, `enable`.\n"
        },
        "sslAcceptFfdheGroups": {
          "type": "string",
          "description": "Enable/disable FFDHE cipher suite for SSL key exchange. Valid values: `enable`, `disable`.\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Permitted encryption algorithms for SSL sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "The name of the SSL certificate to use for SSL acceleration.\n"
        },
        "sslCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip6SslCipherSuite:Vip6SslCipherSuite"
          },
          "description": "SSL/TLS cipher suites acceptable from a client, ordered by priority. The structure of `ssl_cipher_suites` block is documented below.\n"
        },
        "sslClientFallback": {
          "type": "string",
          "description": "Enable/disable support for preventing Downgrade Attacks on client connections (RFC 7507). Valid values: `disable`, `enable`.\n"
        },
        "sslClientRekeyCount": {
          "type": "integer",
          "description": "Maximum length of data in MB before triggering a client rekey (0 = disable).\n"
        },
        "sslClientRenegotiation": {
          "type": "string",
          "description": "Allow, deny, or require secure renegotiation of client sessions to comply with RFC 5746. Valid values: `allow`, `deny`, `secure`.\n"
        },
        "sslClientSessionStateMax": {
          "type": "integer",
          "description": "Maximum number of client to FortiGate SSL session states to keep.\n"
        },
        "sslClientSessionStateTimeout": {
          "type": "integer",
          "description": "Number of minutes to keep client to FortiGate SSL session state.\n"
        },
        "sslClientSessionStateType": {
          "type": "string",
          "description": "How to expire SSL sessions for the segment of the SSL connection between the client and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions. Valid values: `768`, `1024`, `1536`, `2048`, `3072`, `4096`.\n"
        },
        "sslHpkp": {
          "type": "string",
          "description": "Enable/disable including HPKP header in response. Valid values: `disable`, `enable`, `report-only`.\n"
        },
        "sslHpkpAge": {
          "type": "integer",
          "description": "Number of minutes the web browser should keep HPKP.\n"
        },
        "sslHpkpBackup": {
          "type": "string",
          "description": "Certificate to generate backup HPKP pin from.\n"
        },
        "sslHpkpIncludeSubdomains": {
          "type": "string",
          "description": "Indicate that HPKP header applies to all subdomains. Valid values: `disable`, `enable`.\n"
        },
        "sslHpkpPrimary": {
          "type": "string",
          "description": "Certificate to generate primary HPKP pin from.\n"
        },
        "sslHpkpReportUri": {
          "type": "string",
          "description": "URL to report HPKP violations to.\n"
        },
        "sslHsts": {
          "type": "string",
          "description": "Enable/disable including HSTS header in response. Valid values: `disable`, `enable`.\n"
        },
        "sslHstsAge": {
          "type": "integer",
          "description": "Number of seconds the client should honour the HSTS setting.\n"
        },
        "sslHstsIncludeSubdomains": {
          "type": "string",
          "description": "Indicate that HSTS header applies to all subdomains. Valid values: `disable`, `enable`.\n"
        },
        "sslHttpLocationConversion": {
          "type": "string",
          "description": "Enable to replace HTTP with HTTPS in the reply's Location HTTP header field. Valid values: `enable`, `disable`.\n"
        },
        "sslHttpMatchHost": {
          "type": "string",
          "description": "Enable/disable HTTP host matching for location conversion. Valid values: `enable`, `disable`.\n"
        },
        "sslMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version acceptable from a client.\n"
        },
        "sslMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version acceptable from a client.\n"
        },
        "sslMode": {
          "type": "string",
          "description": "Apply SSL offloading between the client and the FortiGate (half) or from the client to the FortiGate and from the FortiGate to the server (full). Valid values: `half`, `full`.\n"
        },
        "sslPfs": {
          "type": "string",
          "description": "Select the cipher suites that can be used for SSL perfect forward secrecy (PFS). Applies to both client and server sessions. Valid values: `require`, `deny`, `allow`.\n"
        },
        "sslSendEmptyFrags": {
          "type": "string",
          "description": "Enable/disable sending empty fragments to avoid CBC IV attacks (SSL 3.0 & TLS 1.0 only). May need to be disabled for compatibility with older systems. Valid values: `enable`, `disable`.\n"
        },
        "sslServerAlgorithm": {
          "type": "string",
          "description": "Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`, `client`.\n"
        },
        "sslServerCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip6SslServerCipherSuite:Vip6SslServerCipherSuite"
          },
          "description": "SSL/TLS cipher suites to offer to a server, ordered by priority. The structure of `ssl_server_cipher_suites` block is documented below.\n"
        },
        "sslServerMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
        },
        "sslServerMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
        },
        "sslServerRenegotiation": {
          "type": "string",
          "description": "Enable/disable secure renegotiation to comply with RFC 5746. Valid values: `enable`, `disable`.\n"
        },
        "sslServerSessionStateMax": {
          "type": "integer",
          "description": "Maximum number of FortiGate to Server SSL session states to keep.\n"
        },
        "sslServerSessionStateTimeout": {
          "type": "integer",
          "description": "Number of minutes to keep FortiGate to Server SSL session state.\n"
        },
        "sslServerSessionStateType": {
          "type": "string",
          "description": "How to expire SSL sessions for the segment of the SSL connection between the server and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
        },
        "type": {
          "type": "string",
          "description": "Configure a static NAT or server load balance VIP.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "weblogicServer": {
          "type": "string",
          "description": "Enable to add an HTTP header to indicate SSL offloading for a WebLogic server. Valid values: `disable`, `enable`.\n"
        },
        "websphereServer": {
          "type": "string",
          "description": "Enable to add an HTTP header to indicate SSL offloading for a WebSphere server. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "required": [
        "addNat64Route",
        "arpReply",
        "color",
        "embeddedIpv4Address",
        "extip",
        "extport",
        "fosid",
        "h2Support",
        "h3Support",
        "httpCookieAge",
        "httpCookieDomain",
        "httpCookieDomainFromHost",
        "httpCookieGeneration",
        "httpCookiePath",
        "httpCookieShare",
        "httpIpHeader",
        "httpIpHeaderName",
        "httpMultiplex",
        "httpRedirect",
        "httpsCookieSecure",
        "ipv4Mappedip",
        "ipv4Mappedport",
        "ldbMethod",
        "mappedip",
        "mappedport",
        "maxEmbryonicConnections",
        "name",
        "nat64",
        "nat66",
        "natSourceVip",
        "ndpReply",
        "outlookWebAccess",
        "persistence",
        "portforward",
        "protocol",
        "quic",
        "serverType",
        "srcVipFilter",
        "sslAcceptFfdheGroups",
        "sslAlgorithm",
        "sslCertificate",
        "sslClientFallback",
        "sslClientRekeyCount",
        "sslClientRenegotiation",
        "sslClientSessionStateMax",
        "sslClientSessionStateTimeout",
        "sslClientSessionStateType",
        "sslDhBits",
        "sslHpkp",
        "sslHpkpAge",
        "sslHpkpBackup",
        "sslHpkpIncludeSubdomains",
        "sslHpkpPrimary",
        "sslHsts",
        "sslHstsAge",
        "sslHstsIncludeSubdomains",
        "sslHttpLocationConversion",
        "sslHttpMatchHost",
        "sslMaxVersion",
        "sslMinVersion",
        "sslMode",
        "sslPfs",
        "sslSendEmptyFrags",
        "sslServerAlgorithm",
        "sslServerMaxVersion",
        "sslServerMinVersion",
        "sslServerRenegotiation",
        "sslServerSessionStateMax",
        "sslServerSessionStateTimeout",
        "sslServerSessionStateType",
        "type",
        "uuid",
        "vdomparam",
        "weblogicServer",
        "websphereServer"
      ],
      "inputProperties": {
        "addNat64Route": {
          "type": "string",
          "description": "Enable/disable adding NAT64 route. Valid values: `disable`, `enable`.\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable to respond to ARP requests for this virtual IP address. Enabled by default. Valid values: `disable`, `enable`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "embeddedIpv4Address": {
          "type": "string",
          "description": "Enable/disable embedded IPv4 address. Valid values: `disable`, `enable`.\n"
        },
        "extip": {
          "type": "string",
          "description": "IP address or address range on the external interface that you want to map to an address or address range on the destination network.\n"
        },
        "extport": {
          "type": "string",
          "description": "Incoming port number range that you want to map to a port number range on the destination network.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Custom defined ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "h2Support": {
          "type": "string",
          "description": "Enable/disable HTTP2 support (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "h3Support": {
          "type": "string",
          "description": "Enable/disable HTTP3/QUIC support (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "httpCookieAge": {
          "type": "integer",
          "description": "Time in minutes that client web browsers should keep a cookie. Default is 60 seconds. 0 = no time limit.\n"
        },
        "httpCookieDomain": {
          "type": "string",
          "description": "Domain that HTTP cookie persistence should apply to.\n"
        },
        "httpCookieDomainFromHost": {
          "type": "string",
          "description": "Enable/disable use of HTTP cookie domain from host field in HTTP. Valid values: `disable`, `enable`.\n"
        },
        "httpCookieGeneration": {
          "type": "integer",
          "description": "Generation of HTTP cookie to be accepted. Changing invalidates all existing cookies.\n"
        },
        "httpCookiePath": {
          "type": "string",
          "description": "Limit HTTP cookie persistence to the specified path.\n"
        },
        "httpCookieShare": {
          "type": "string",
          "description": "Control sharing of cookies across virtual servers. same-ip means a cookie from one virtual server can be used by another. Disable stops cookie sharing. Valid values: `disable`, `same-ip`.\n"
        },
        "httpIpHeader": {
          "type": "string",
          "description": "For HTTP multiplexing, enable to add the original client IP address in the XForwarded-For HTTP header. Valid values: `enable`, `disable`.\n"
        },
        "httpIpHeaderName": {
          "type": "string",
          "description": "For HTTP multiplexing, enter a custom HTTPS header name. The original client IP address is added to this header. If empty, X-Forwarded-For is used.\n"
        },
        "httpMultiplex": {
          "type": "string",
          "description": "Enable/disable HTTP multiplexing. Valid values: `enable`, `disable`.\n"
        },
        "httpRedirect": {
          "type": "string",
          "description": "Enable/disable redirection of HTTP to HTTPS Valid values: `enable`, `disable`.\n"
        },
        "httpsCookieSecure": {
          "type": "string",
          "description": "Enable/disable verification that inserted HTTPS cookies are secure. Valid values: `disable`, `enable`.\n"
        },
        "ipv4Mappedip": {
          "type": "string",
          "description": "Start-mapped-IPv4-address [-end mapped-IPv4-address].\n"
        },
        "ipv4Mappedport": {
          "type": "string",
          "description": "IPv4 port number range on the destination network to which the external port number range is mapped.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Method used to distribute sessions to real servers. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`, `http-host`.\n"
        },
        "mappedip": {
          "type": "string",
          "description": "Mapped IP address range in the format startIP-endIP.\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Port number range on the destination network to which the external port number range is mapped.\n"
        },
        "maxEmbryonicConnections": {
          "type": "integer",
          "description": "Maximum number of incomplete connections.\n"
        },
        "monitors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip6Monitor:Vip6Monitor"
          },
          "description": "Name of the health check monitor to use when polling to determine a virtual server's connectivity status. The structure of `monitor` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual ip6 name.\n"
        },
        "nat64": {
          "type": "string",
          "description": "Enable/disable DNAT64. Valid values: `disable`, `enable`.\n"
        },
        "nat66": {
          "type": "string",
          "description": "Enable/disable DNAT66. Valid values: `disable`, `enable`.\n"
        },
        "natSourceVip": {
          "type": "string",
          "description": "Enable to perform SNAT on traffic from mappedip to the extip for all egress interfaces. Valid values: `disable`, `enable`.\n"
        },
        "ndpReply": {
          "type": "string",
          "description": "Enable/disable this FortiGate unit's ability to respond to NDP requests for this virtual IP address (default = enable). Valid values: `disable`, `enable`.\n"
        },
        "outlookWebAccess": {
          "type": "string",
          "description": "Enable to add the Front-End-Https header for Microsoft Outlook Web Access. Valid values: `disable`, `enable`.\n"
        },
        "persistence": {
          "type": "string",
          "description": "Configure how to make sure that clients connect to the same server every time they make a request that is part of the same session. Valid values: `none`, `http-cookie`, `ssl-session-id`.\n"
        },
        "portforward": {
          "type": "string",
          "description": "Enable port forwarding. Valid values: `disable`, `enable`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol to use when forwarding packets. Valid values: `tcp`, `udp`, `sctp`.\n"
        },
        "quic": {
          "$ref": "#/types/fortios:firewall%2FVip6Quic:Vip6Quic",
          "description": "QUIC setting. The structure of `quic` block is documented below.\n"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip6Realserver:Vip6Realserver"
          },
          "description": "Select the real servers that this server load balancing VIP will distribute traffic to. The structure of `realservers` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Protocol to be load balanced by the virtual server (also called the server load balance virtual IP). Valid values: `http`, `https`, `imaps`, `pop3s`, `smtps`, `ssl`, `tcp`, `udp`, `ip`.\n"
        },
        "srcFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip6SrcFilter:Vip6SrcFilter"
          },
          "description": "Source IP6 filter (x:x:x:x:x:x:x:x/x). Separate addresses with spaces. The structure of `src_filter` block is documented below.\n"
        },
        "srcVipFilter": {
          "type": "string",
          "description": "Enable/disable use of 'src-filter' to match destinations for the reverse SNAT rule. Valid values: `disable`, `enable`.\n"
        },
        "sslAcceptFfdheGroups": {
          "type": "string",
          "description": "Enable/disable FFDHE cipher suite for SSL key exchange. Valid values: `enable`, `disable`.\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Permitted encryption algorithms for SSL sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "The name of the SSL certificate to use for SSL acceleration.\n"
        },
        "sslCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip6SslCipherSuite:Vip6SslCipherSuite"
          },
          "description": "SSL/TLS cipher suites acceptable from a client, ordered by priority. The structure of `ssl_cipher_suites` block is documented below.\n"
        },
        "sslClientFallback": {
          "type": "string",
          "description": "Enable/disable support for preventing Downgrade Attacks on client connections (RFC 7507). Valid values: `disable`, `enable`.\n"
        },
        "sslClientRekeyCount": {
          "type": "integer",
          "description": "Maximum length of data in MB before triggering a client rekey (0 = disable).\n"
        },
        "sslClientRenegotiation": {
          "type": "string",
          "description": "Allow, deny, or require secure renegotiation of client sessions to comply with RFC 5746. Valid values: `allow`, `deny`, `secure`.\n"
        },
        "sslClientSessionStateMax": {
          "type": "integer",
          "description": "Maximum number of client to FortiGate SSL session states to keep.\n"
        },
        "sslClientSessionStateTimeout": {
          "type": "integer",
          "description": "Number of minutes to keep client to FortiGate SSL session state.\n"
        },
        "sslClientSessionStateType": {
          "type": "string",
          "description": "How to expire SSL sessions for the segment of the SSL connection between the client and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions. Valid values: `768`, `1024`, `1536`, `2048`, `3072`, `4096`.\n"
        },
        "sslHpkp": {
          "type": "string",
          "description": "Enable/disable including HPKP header in response. Valid values: `disable`, `enable`, `report-only`.\n"
        },
        "sslHpkpAge": {
          "type": "integer",
          "description": "Number of minutes the web browser should keep HPKP.\n"
        },
        "sslHpkpBackup": {
          "type": "string",
          "description": "Certificate to generate backup HPKP pin from.\n"
        },
        "sslHpkpIncludeSubdomains": {
          "type": "string",
          "description": "Indicate that HPKP header applies to all subdomains. Valid values: `disable`, `enable`.\n"
        },
        "sslHpkpPrimary": {
          "type": "string",
          "description": "Certificate to generate primary HPKP pin from.\n"
        },
        "sslHpkpReportUri": {
          "type": "string",
          "description": "URL to report HPKP violations to.\n"
        },
        "sslHsts": {
          "type": "string",
          "description": "Enable/disable including HSTS header in response. Valid values: `disable`, `enable`.\n"
        },
        "sslHstsAge": {
          "type": "integer",
          "description": "Number of seconds the client should honour the HSTS setting.\n"
        },
        "sslHstsIncludeSubdomains": {
          "type": "string",
          "description": "Indicate that HSTS header applies to all subdomains. Valid values: `disable`, `enable`.\n"
        },
        "sslHttpLocationConversion": {
          "type": "string",
          "description": "Enable to replace HTTP with HTTPS in the reply's Location HTTP header field. Valid values: `enable`, `disable`.\n"
        },
        "sslHttpMatchHost": {
          "type": "string",
          "description": "Enable/disable HTTP host matching for location conversion. Valid values: `enable`, `disable`.\n"
        },
        "sslMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version acceptable from a client.\n"
        },
        "sslMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version acceptable from a client.\n"
        },
        "sslMode": {
          "type": "string",
          "description": "Apply SSL offloading between the client and the FortiGate (half) or from the client to the FortiGate and from the FortiGate to the server (full). Valid values: `half`, `full`.\n"
        },
        "sslPfs": {
          "type": "string",
          "description": "Select the cipher suites that can be used for SSL perfect forward secrecy (PFS). Applies to both client and server sessions. Valid values: `require`, `deny`, `allow`.\n"
        },
        "sslSendEmptyFrags": {
          "type": "string",
          "description": "Enable/disable sending empty fragments to avoid CBC IV attacks (SSL 3.0 & TLS 1.0 only). May need to be disabled for compatibility with older systems. Valid values: `enable`, `disable`.\n"
        },
        "sslServerAlgorithm": {
          "type": "string",
          "description": "Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`, `client`.\n"
        },
        "sslServerCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVip6SslServerCipherSuite:Vip6SslServerCipherSuite"
          },
          "description": "SSL/TLS cipher suites to offer to a server, ordered by priority. The structure of `ssl_server_cipher_suites` block is documented below.\n"
        },
        "sslServerMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
        },
        "sslServerMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
        },
        "sslServerRenegotiation": {
          "type": "string",
          "description": "Enable/disable secure renegotiation to comply with RFC 5746. Valid values: `enable`, `disable`.\n"
        },
        "sslServerSessionStateMax": {
          "type": "integer",
          "description": "Maximum number of FortiGate to Server SSL session states to keep.\n"
        },
        "sslServerSessionStateTimeout": {
          "type": "integer",
          "description": "Number of minutes to keep FortiGate to Server SSL session state.\n"
        },
        "sslServerSessionStateType": {
          "type": "string",
          "description": "How to expire SSL sessions for the segment of the SSL connection between the server and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
        },
        "type": {
          "type": "string",
          "description": "Configure a static NAT or server load balance VIP.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "weblogicServer": {
          "type": "string",
          "description": "Enable to add an HTTP header to indicate SSL offloading for a WebLogic server. Valid values: `disable`, `enable`.\n"
        },
        "websphereServer": {
          "type": "string",
          "description": "Enable to add an HTTP header to indicate SSL offloading for a WebSphere server. Valid values: `disable`, `enable`.\n"
        }
      },
      "requiredInputs": [
        "extip",
        "mappedip"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vip6 resources.\n",
        "properties": {
          "addNat64Route": {
            "type": "string",
            "description": "Enable/disable adding NAT64 route. Valid values: `disable`, `enable`.\n"
          },
          "arpReply": {
            "type": "string",
            "description": "Enable to respond to ARP requests for this virtual IP address. Enabled by default. Valid values: `disable`, `enable`.\n"
          },
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "embeddedIpv4Address": {
            "type": "string",
            "description": "Enable/disable embedded IPv4 address. Valid values: `disable`, `enable`.\n"
          },
          "extip": {
            "type": "string",
            "description": "IP address or address range on the external interface that you want to map to an address or address range on the destination network.\n"
          },
          "extport": {
            "type": "string",
            "description": "Incoming port number range that you want to map to a port number range on the destination network.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Custom defined ID.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "h2Support": {
            "type": "string",
            "description": "Enable/disable HTTP2 support (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "h3Support": {
            "type": "string",
            "description": "Enable/disable HTTP3/QUIC support (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "httpCookieAge": {
            "type": "integer",
            "description": "Time in minutes that client web browsers should keep a cookie. Default is 60 seconds. 0 = no time limit.\n"
          },
          "httpCookieDomain": {
            "type": "string",
            "description": "Domain that HTTP cookie persistence should apply to.\n"
          },
          "httpCookieDomainFromHost": {
            "type": "string",
            "description": "Enable/disable use of HTTP cookie domain from host field in HTTP. Valid values: `disable`, `enable`.\n"
          },
          "httpCookieGeneration": {
            "type": "integer",
            "description": "Generation of HTTP cookie to be accepted. Changing invalidates all existing cookies.\n"
          },
          "httpCookiePath": {
            "type": "string",
            "description": "Limit HTTP cookie persistence to the specified path.\n"
          },
          "httpCookieShare": {
            "type": "string",
            "description": "Control sharing of cookies across virtual servers. same-ip means a cookie from one virtual server can be used by another. Disable stops cookie sharing. Valid values: `disable`, `same-ip`.\n"
          },
          "httpIpHeader": {
            "type": "string",
            "description": "For HTTP multiplexing, enable to add the original client IP address in the XForwarded-For HTTP header. Valid values: `enable`, `disable`.\n"
          },
          "httpIpHeaderName": {
            "type": "string",
            "description": "For HTTP multiplexing, enter a custom HTTPS header name. The original client IP address is added to this header. If empty, X-Forwarded-For is used.\n"
          },
          "httpMultiplex": {
            "type": "string",
            "description": "Enable/disable HTTP multiplexing. Valid values: `enable`, `disable`.\n"
          },
          "httpRedirect": {
            "type": "string",
            "description": "Enable/disable redirection of HTTP to HTTPS Valid values: `enable`, `disable`.\n"
          },
          "httpsCookieSecure": {
            "type": "string",
            "description": "Enable/disable verification that inserted HTTPS cookies are secure. Valid values: `disable`, `enable`.\n"
          },
          "ipv4Mappedip": {
            "type": "string",
            "description": "Start-mapped-IPv4-address [-end mapped-IPv4-address].\n"
          },
          "ipv4Mappedport": {
            "type": "string",
            "description": "IPv4 port number range on the destination network to which the external port number range is mapped.\n"
          },
          "ldbMethod": {
            "type": "string",
            "description": "Method used to distribute sessions to real servers. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`, `http-host`.\n"
          },
          "mappedip": {
            "type": "string",
            "description": "Mapped IP address range in the format startIP-endIP.\n"
          },
          "mappedport": {
            "type": "string",
            "description": "Port number range on the destination network to which the external port number range is mapped.\n"
          },
          "maxEmbryonicConnections": {
            "type": "integer",
            "description": "Maximum number of incomplete connections.\n"
          },
          "monitors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip6Monitor:Vip6Monitor"
            },
            "description": "Name of the health check monitor to use when polling to determine a virtual server's connectivity status. The structure of `monitor` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Virtual ip6 name.\n"
          },
          "nat64": {
            "type": "string",
            "description": "Enable/disable DNAT64. Valid values: `disable`, `enable`.\n"
          },
          "nat66": {
            "type": "string",
            "description": "Enable/disable DNAT66. Valid values: `disable`, `enable`.\n"
          },
          "natSourceVip": {
            "type": "string",
            "description": "Enable to perform SNAT on traffic from mappedip to the extip for all egress interfaces. Valid values: `disable`, `enable`.\n"
          },
          "ndpReply": {
            "type": "string",
            "description": "Enable/disable this FortiGate unit's ability to respond to NDP requests for this virtual IP address (default = enable). Valid values: `disable`, `enable`.\n"
          },
          "outlookWebAccess": {
            "type": "string",
            "description": "Enable to add the Front-End-Https header for Microsoft Outlook Web Access. Valid values: `disable`, `enable`.\n"
          },
          "persistence": {
            "type": "string",
            "description": "Configure how to make sure that clients connect to the same server every time they make a request that is part of the same session. Valid values: `none`, `http-cookie`, `ssl-session-id`.\n"
          },
          "portforward": {
            "type": "string",
            "description": "Enable port forwarding. Valid values: `disable`, `enable`.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol to use when forwarding packets. Valid values: `tcp`, `udp`, `sctp`.\n"
          },
          "quic": {
            "$ref": "#/types/fortios:firewall%2FVip6Quic:Vip6Quic",
            "description": "QUIC setting. The structure of `quic` block is documented below.\n"
          },
          "realservers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip6Realserver:Vip6Realserver"
            },
            "description": "Select the real servers that this server load balancing VIP will distribute traffic to. The structure of `realservers` block is documented below.\n"
          },
          "serverType": {
            "type": "string",
            "description": "Protocol to be load balanced by the virtual server (also called the server load balance virtual IP). Valid values: `http`, `https`, `imaps`, `pop3s`, `smtps`, `ssl`, `tcp`, `udp`, `ip`.\n"
          },
          "srcFilters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip6SrcFilter:Vip6SrcFilter"
            },
            "description": "Source IP6 filter (x:x:x:x:x:x:x:x/x). Separate addresses with spaces. The structure of `src_filter` block is documented below.\n"
          },
          "srcVipFilter": {
            "type": "string",
            "description": "Enable/disable use of 'src-filter' to match destinations for the reverse SNAT rule. Valid values: `disable`, `enable`.\n"
          },
          "sslAcceptFfdheGroups": {
            "type": "string",
            "description": "Enable/disable FFDHE cipher suite for SSL key exchange. Valid values: `enable`, `disable`.\n"
          },
          "sslAlgorithm": {
            "type": "string",
            "description": "Permitted encryption algorithms for SSL sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`.\n"
          },
          "sslCertificate": {
            "type": "string",
            "description": "The name of the SSL certificate to use for SSL acceleration.\n"
          },
          "sslCipherSuites": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip6SslCipherSuite:Vip6SslCipherSuite"
            },
            "description": "SSL/TLS cipher suites acceptable from a client, ordered by priority. The structure of `ssl_cipher_suites` block is documented below.\n"
          },
          "sslClientFallback": {
            "type": "string",
            "description": "Enable/disable support for preventing Downgrade Attacks on client connections (RFC 7507). Valid values: `disable`, `enable`.\n"
          },
          "sslClientRekeyCount": {
            "type": "integer",
            "description": "Maximum length of data in MB before triggering a client rekey (0 = disable).\n"
          },
          "sslClientRenegotiation": {
            "type": "string",
            "description": "Allow, deny, or require secure renegotiation of client sessions to comply with RFC 5746. Valid values: `allow`, `deny`, `secure`.\n"
          },
          "sslClientSessionStateMax": {
            "type": "integer",
            "description": "Maximum number of client to FortiGate SSL session states to keep.\n"
          },
          "sslClientSessionStateTimeout": {
            "type": "integer",
            "description": "Number of minutes to keep client to FortiGate SSL session state.\n"
          },
          "sslClientSessionStateType": {
            "type": "string",
            "description": "How to expire SSL sessions for the segment of the SSL connection between the client and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
          },
          "sslDhBits": {
            "type": "string",
            "description": "Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions. Valid values: `768`, `1024`, `1536`, `2048`, `3072`, `4096`.\n"
          },
          "sslHpkp": {
            "type": "string",
            "description": "Enable/disable including HPKP header in response. Valid values: `disable`, `enable`, `report-only`.\n"
          },
          "sslHpkpAge": {
            "type": "integer",
            "description": "Number of minutes the web browser should keep HPKP.\n"
          },
          "sslHpkpBackup": {
            "type": "string",
            "description": "Certificate to generate backup HPKP pin from.\n"
          },
          "sslHpkpIncludeSubdomains": {
            "type": "string",
            "description": "Indicate that HPKP header applies to all subdomains. Valid values: `disable`, `enable`.\n"
          },
          "sslHpkpPrimary": {
            "type": "string",
            "description": "Certificate to generate primary HPKP pin from.\n"
          },
          "sslHpkpReportUri": {
            "type": "string",
            "description": "URL to report HPKP violations to.\n"
          },
          "sslHsts": {
            "type": "string",
            "description": "Enable/disable including HSTS header in response. Valid values: `disable`, `enable`.\n"
          },
          "sslHstsAge": {
            "type": "integer",
            "description": "Number of seconds the client should honour the HSTS setting.\n"
          },
          "sslHstsIncludeSubdomains": {
            "type": "string",
            "description": "Indicate that HSTS header applies to all subdomains. Valid values: `disable`, `enable`.\n"
          },
          "sslHttpLocationConversion": {
            "type": "string",
            "description": "Enable to replace HTTP with HTTPS in the reply's Location HTTP header field. Valid values: `enable`, `disable`.\n"
          },
          "sslHttpMatchHost": {
            "type": "string",
            "description": "Enable/disable HTTP host matching for location conversion. Valid values: `enable`, `disable`.\n"
          },
          "sslMaxVersion": {
            "type": "string",
            "description": "Highest SSL/TLS version acceptable from a client.\n"
          },
          "sslMinVersion": {
            "type": "string",
            "description": "Lowest SSL/TLS version acceptable from a client.\n"
          },
          "sslMode": {
            "type": "string",
            "description": "Apply SSL offloading between the client and the FortiGate (half) or from the client to the FortiGate and from the FortiGate to the server (full). Valid values: `half`, `full`.\n"
          },
          "sslPfs": {
            "type": "string",
            "description": "Select the cipher suites that can be used for SSL perfect forward secrecy (PFS). Applies to both client and server sessions. Valid values: `require`, `deny`, `allow`.\n"
          },
          "sslSendEmptyFrags": {
            "type": "string",
            "description": "Enable/disable sending empty fragments to avoid CBC IV attacks (SSL 3.0 & TLS 1.0 only). May need to be disabled for compatibility with older systems. Valid values: `enable`, `disable`.\n"
          },
          "sslServerAlgorithm": {
            "type": "string",
            "description": "Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`, `client`.\n"
          },
          "sslServerCipherSuites": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVip6SslServerCipherSuite:Vip6SslServerCipherSuite"
            },
            "description": "SSL/TLS cipher suites to offer to a server, ordered by priority. The structure of `ssl_server_cipher_suites` block is documented below.\n"
          },
          "sslServerMaxVersion": {
            "type": "string",
            "description": "Highest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
          },
          "sslServerMinVersion": {
            "type": "string",
            "description": "Lowest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
          },
          "sslServerRenegotiation": {
            "type": "string",
            "description": "Enable/disable secure renegotiation to comply with RFC 5746. Valid values: `enable`, `disable`.\n"
          },
          "sslServerSessionStateMax": {
            "type": "integer",
            "description": "Maximum number of FortiGate to Server SSL session states to keep.\n"
          },
          "sslServerSessionStateTimeout": {
            "type": "integer",
            "description": "Number of minutes to keep FortiGate to Server SSL session state.\n"
          },
          "sslServerSessionStateType": {
            "type": "string",
            "description": "How to expire SSL sessions for the segment of the SSL connection between the server and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
          },
          "type": {
            "type": "string",
            "description": "Configure a static NAT or server load balance VIP.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "weblogicServer": {
            "type": "string",
            "description": "Enable to add an HTTP header to indicate SSL offloading for a WebLogic server. Valid values: `disable`, `enable`.\n"
          },
          "websphereServer": {
            "type": "string",
            "description": "Enable to add an HTTP header to indicate SSL offloading for a WebSphere server. Valid values: `disable`, `enable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/vip:Vip": {
      "description": "Configure virtual IP for IPv4.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.Vip(\"trname\", {\n    arpReply: \"enable\",\n    color: 0,\n    dnsMappingTtl: 0,\n    extintf: \"any\",\n    extip: \"1.0.0.1-1.0.0.2\",\n    extport: \"0-65535\",\n    fosid: 0,\n    httpCookieAge: 60,\n    httpCookieDomainFromHost: \"disable\",\n    httpCookieGeneration: 0,\n    httpCookieShare: \"same-ip\",\n    httpIpHeader: \"disable\",\n    httpMultiplex: \"disable\",\n    httpsCookieSecure: \"disable\",\n    ldbMethod: \"static\",\n    mappedips: [{\n        range: \"3.0.0.0-3.0.0.1\",\n    }],\n    mappedport: \"0-65535\",\n    maxEmbryonicConnections: 1000,\n    natSourceVip: \"disable\",\n    outlookWebAccess: \"disable\",\n    persistence: \"none\",\n    portforward: \"disable\",\n    portmappingType: \"1-to-1\",\n    protocol: \"tcp\",\n    sslAlgorithm: \"high\",\n    sslClientFallback: \"enable\",\n    sslClientRenegotiation: \"secure\",\n    sslClientSessionStateMax: 1000,\n    sslClientSessionStateTimeout: 30,\n    sslClientSessionStateType: \"both\",\n    sslDhBits: \"2048\",\n    sslHpkp: \"disable\",\n    sslHpkpAge: 5184000,\n    sslHpkpIncludeSubdomains: \"disable\",\n    sslHsts: \"disable\",\n    sslHstsAge: 5184000,\n    sslHstsIncludeSubdomains: \"disable\",\n    sslHttpLocationConversion: \"disable\",\n    sslHttpMatchHost: \"enable\",\n    sslMaxVersion: \"tls-1.2\",\n    sslMinVersion: \"tls-1.1\",\n    sslMode: \"half\",\n    sslPfs: \"require\",\n    sslSendEmptyFrags: \"enable\",\n    sslServerAlgorithm: \"client\",\n    sslServerMaxVersion: \"client\",\n    sslServerMinVersion: \"client\",\n    sslServerSessionStateMax: 100,\n    sslServerSessionStateTimeout: 60,\n    sslServerSessionStateType: \"both\",\n    type: \"static-nat\",\n    weblogicServer: \"disable\",\n    websphereServer: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.Vip(\"trname\",\n    arp_reply=\"enable\",\n    color=0,\n    dns_mapping_ttl=0,\n    extintf=\"any\",\n    extip=\"1.0.0.1-1.0.0.2\",\n    extport=\"0-65535\",\n    fosid=0,\n    http_cookie_age=60,\n    http_cookie_domain_from_host=\"disable\",\n    http_cookie_generation=0,\n    http_cookie_share=\"same-ip\",\n    http_ip_header=\"disable\",\n    http_multiplex=\"disable\",\n    https_cookie_secure=\"disable\",\n    ldb_method=\"static\",\n    mappedips=[fortios.firewall.VipMappedipArgs(\n        range=\"3.0.0.0-3.0.0.1\",\n    )],\n    mappedport=\"0-65535\",\n    max_embryonic_connections=1000,\n    nat_source_vip=\"disable\",\n    outlook_web_access=\"disable\",\n    persistence=\"none\",\n    portforward=\"disable\",\n    portmapping_type=\"1-to-1\",\n    protocol=\"tcp\",\n    ssl_algorithm=\"high\",\n    ssl_client_fallback=\"enable\",\n    ssl_client_renegotiation=\"secure\",\n    ssl_client_session_state_max=1000,\n    ssl_client_session_state_timeout=30,\n    ssl_client_session_state_type=\"both\",\n    ssl_dh_bits=\"2048\",\n    ssl_hpkp=\"disable\",\n    ssl_hpkp_age=5184000,\n    ssl_hpkp_include_subdomains=\"disable\",\n    ssl_hsts=\"disable\",\n    ssl_hsts_age=5184000,\n    ssl_hsts_include_subdomains=\"disable\",\n    ssl_http_location_conversion=\"disable\",\n    ssl_http_match_host=\"enable\",\n    ssl_max_version=\"tls-1.2\",\n    ssl_min_version=\"tls-1.1\",\n    ssl_mode=\"half\",\n    ssl_pfs=\"require\",\n    ssl_send_empty_frags=\"enable\",\n    ssl_server_algorithm=\"client\",\n    ssl_server_max_version=\"client\",\n    ssl_server_min_version=\"client\",\n    ssl_server_session_state_max=100,\n    ssl_server_session_state_timeout=60,\n    ssl_server_session_state_type=\"both\",\n    type=\"static-nat\",\n    weblogic_server=\"disable\",\n    websphere_server=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Vip(\"trname\", new()\n    {\n        ArpReply = \"enable\",\n        Color = 0,\n        DnsMappingTtl = 0,\n        Extintf = \"any\",\n        Extip = \"1.0.0.1-1.0.0.2\",\n        Extport = \"0-65535\",\n        Fosid = 0,\n        HttpCookieAge = 60,\n        HttpCookieDomainFromHost = \"disable\",\n        HttpCookieGeneration = 0,\n        HttpCookieShare = \"same-ip\",\n        HttpIpHeader = \"disable\",\n        HttpMultiplex = \"disable\",\n        HttpsCookieSecure = \"disable\",\n        LdbMethod = \"static\",\n        Mappedips = new[]\n        {\n            new Fortios.Firewall.Inputs.VipMappedipArgs\n            {\n                Range = \"3.0.0.0-3.0.0.1\",\n            },\n        },\n        Mappedport = \"0-65535\",\n        MaxEmbryonicConnections = 1000,\n        NatSourceVip = \"disable\",\n        OutlookWebAccess = \"disable\",\n        Persistence = \"none\",\n        Portforward = \"disable\",\n        PortmappingType = \"1-to-1\",\n        Protocol = \"tcp\",\n        SslAlgorithm = \"high\",\n        SslClientFallback = \"enable\",\n        SslClientRenegotiation = \"secure\",\n        SslClientSessionStateMax = 1000,\n        SslClientSessionStateTimeout = 30,\n        SslClientSessionStateType = \"both\",\n        SslDhBits = \"2048\",\n        SslHpkp = \"disable\",\n        SslHpkpAge = 5184000,\n        SslHpkpIncludeSubdomains = \"disable\",\n        SslHsts = \"disable\",\n        SslHstsAge = 5184000,\n        SslHstsIncludeSubdomains = \"disable\",\n        SslHttpLocationConversion = \"disable\",\n        SslHttpMatchHost = \"enable\",\n        SslMaxVersion = \"tls-1.2\",\n        SslMinVersion = \"tls-1.1\",\n        SslMode = \"half\",\n        SslPfs = \"require\",\n        SslSendEmptyFrags = \"enable\",\n        SslServerAlgorithm = \"client\",\n        SslServerMaxVersion = \"client\",\n        SslServerMinVersion = \"client\",\n        SslServerSessionStateMax = 100,\n        SslServerSessionStateTimeout = 60,\n        SslServerSessionStateType = \"both\",\n        Type = \"static-nat\",\n        WeblogicServer = \"disable\",\n        WebsphereServer = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewVip(ctx, \"trname\", &firewall.VipArgs{\n\t\t\tArpReply:                 pulumi.String(\"enable\"),\n\t\t\tColor:                    pulumi.Int(0),\n\t\t\tDnsMappingTtl:            pulumi.Int(0),\n\t\t\tExtintf:                  pulumi.String(\"any\"),\n\t\t\tExtip:                    pulumi.String(\"1.0.0.1-1.0.0.2\"),\n\t\t\tExtport:                  pulumi.String(\"0-65535\"),\n\t\t\tFosid:                    pulumi.Int(0),\n\t\t\tHttpCookieAge:            pulumi.Int(60),\n\t\t\tHttpCookieDomainFromHost: pulumi.String(\"disable\"),\n\t\t\tHttpCookieGeneration:     pulumi.Int(0),\n\t\t\tHttpCookieShare:          pulumi.String(\"same-ip\"),\n\t\t\tHttpIpHeader:             pulumi.String(\"disable\"),\n\t\t\tHttpMultiplex:            pulumi.String(\"disable\"),\n\t\t\tHttpsCookieSecure:        pulumi.String(\"disable\"),\n\t\t\tLdbMethod:                pulumi.String(\"static\"),\n\t\t\tMappedips: firewall.VipMappedipArray{\n\t\t\t\t&firewall.VipMappedipArgs{\n\t\t\t\t\tRange: pulumi.String(\"3.0.0.0-3.0.0.1\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMappedport:                   pulumi.String(\"0-65535\"),\n\t\t\tMaxEmbryonicConnections:      pulumi.Int(1000),\n\t\t\tNatSourceVip:                 pulumi.String(\"disable\"),\n\t\t\tOutlookWebAccess:             pulumi.String(\"disable\"),\n\t\t\tPersistence:                  pulumi.String(\"none\"),\n\t\t\tPortforward:                  pulumi.String(\"disable\"),\n\t\t\tPortmappingType:              pulumi.String(\"1-to-1\"),\n\t\t\tProtocol:                     pulumi.String(\"tcp\"),\n\t\t\tSslAlgorithm:                 pulumi.String(\"high\"),\n\t\t\tSslClientFallback:            pulumi.String(\"enable\"),\n\t\t\tSslClientRenegotiation:       pulumi.String(\"secure\"),\n\t\t\tSslClientSessionStateMax:     pulumi.Int(1000),\n\t\t\tSslClientSessionStateTimeout: pulumi.Int(30),\n\t\t\tSslClientSessionStateType:    pulumi.String(\"both\"),\n\t\t\tSslDhBits:                    pulumi.String(\"2048\"),\n\t\t\tSslHpkp:                      pulumi.String(\"disable\"),\n\t\t\tSslHpkpAge:                   pulumi.Int(5184000),\n\t\t\tSslHpkpIncludeSubdomains:     pulumi.String(\"disable\"),\n\t\t\tSslHsts:                      pulumi.String(\"disable\"),\n\t\t\tSslHstsAge:                   pulumi.Int(5184000),\n\t\t\tSslHstsIncludeSubdomains:     pulumi.String(\"disable\"),\n\t\t\tSslHttpLocationConversion:    pulumi.String(\"disable\"),\n\t\t\tSslHttpMatchHost:             pulumi.String(\"enable\"),\n\t\t\tSslMaxVersion:                pulumi.String(\"tls-1.2\"),\n\t\t\tSslMinVersion:                pulumi.String(\"tls-1.1\"),\n\t\t\tSslMode:                      pulumi.String(\"half\"),\n\t\t\tSslPfs:                       pulumi.String(\"require\"),\n\t\t\tSslSendEmptyFrags:            pulumi.String(\"enable\"),\n\t\t\tSslServerAlgorithm:           pulumi.String(\"client\"),\n\t\t\tSslServerMaxVersion:          pulumi.String(\"client\"),\n\t\t\tSslServerMinVersion:          pulumi.String(\"client\"),\n\t\t\tSslServerSessionStateMax:     pulumi.Int(100),\n\t\t\tSslServerSessionStateTimeout: pulumi.Int(60),\n\t\t\tSslServerSessionStateType:    pulumi.String(\"both\"),\n\t\t\tType:                         pulumi.String(\"static-nat\"),\n\t\t\tWeblogicServer:               pulumi.String(\"disable\"),\n\t\t\tWebsphereServer:              pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Vip;\nimport com.pulumi.fortios.firewall.VipArgs;\nimport com.pulumi.fortios.firewall.inputs.VipMappedipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Vip(\"trname\", VipArgs.builder()\n            .arpReply(\"enable\")\n            .color(0)\n            .dnsMappingTtl(0)\n            .extintf(\"any\")\n            .extip(\"1.0.0.1-1.0.0.2\")\n            .extport(\"0-65535\")\n            .fosid(0)\n            .httpCookieAge(60)\n            .httpCookieDomainFromHost(\"disable\")\n            .httpCookieGeneration(0)\n            .httpCookieShare(\"same-ip\")\n            .httpIpHeader(\"disable\")\n            .httpMultiplex(\"disable\")\n            .httpsCookieSecure(\"disable\")\n            .ldbMethod(\"static\")\n            .mappedips(VipMappedipArgs.builder()\n                .range(\"3.0.0.0-3.0.0.1\")\n                .build())\n            .mappedport(\"0-65535\")\n            .maxEmbryonicConnections(1000)\n            .natSourceVip(\"disable\")\n            .outlookWebAccess(\"disable\")\n            .persistence(\"none\")\n            .portforward(\"disable\")\n            .portmappingType(\"1-to-1\")\n            .protocol(\"tcp\")\n            .sslAlgorithm(\"high\")\n            .sslClientFallback(\"enable\")\n            .sslClientRenegotiation(\"secure\")\n            .sslClientSessionStateMax(1000)\n            .sslClientSessionStateTimeout(30)\n            .sslClientSessionStateType(\"both\")\n            .sslDhBits(\"2048\")\n            .sslHpkp(\"disable\")\n            .sslHpkpAge(5184000)\n            .sslHpkpIncludeSubdomains(\"disable\")\n            .sslHsts(\"disable\")\n            .sslHstsAge(5184000)\n            .sslHstsIncludeSubdomains(\"disable\")\n            .sslHttpLocationConversion(\"disable\")\n            .sslHttpMatchHost(\"enable\")\n            .sslMaxVersion(\"tls-1.2\")\n            .sslMinVersion(\"tls-1.1\")\n            .sslMode(\"half\")\n            .sslPfs(\"require\")\n            .sslSendEmptyFrags(\"enable\")\n            .sslServerAlgorithm(\"client\")\n            .sslServerMaxVersion(\"client\")\n            .sslServerMinVersion(\"client\")\n            .sslServerSessionStateMax(100)\n            .sslServerSessionStateTimeout(60)\n            .sslServerSessionStateType(\"both\")\n            .type(\"static-nat\")\n            .weblogicServer(\"disable\")\n            .websphereServer(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall:Vip\n    properties:\n      arpReply: enable\n      color: 0\n      dnsMappingTtl: 0\n      extintf: any\n      extip: 1.0.0.1-1.0.0.2\n      extport: 0-65535\n      fosid: 0\n      httpCookieAge: 60\n      httpCookieDomainFromHost: disable\n      httpCookieGeneration: 0\n      httpCookieShare: same-ip\n      httpIpHeader: disable\n      httpMultiplex: disable\n      httpsCookieSecure: disable\n      ldbMethod: static\n      mappedips:\n        - range: 3.0.0.0-3.0.0.1\n      mappedport: 0-65535\n      maxEmbryonicConnections: 1000\n      natSourceVip: disable\n      outlookWebAccess: disable\n      persistence: none\n      portforward: disable\n      portmappingType: 1-to-1\n      protocol: tcp\n      sslAlgorithm: high\n      sslClientFallback: enable\n      sslClientRenegotiation: secure\n      sslClientSessionStateMax: 1000\n      sslClientSessionStateTimeout: 30\n      sslClientSessionStateType: both\n      sslDhBits: '2048'\n      sslHpkp: disable\n      sslHpkpAge: 5.184e+06\n      sslHpkpIncludeSubdomains: disable\n      sslHsts: disable\n      sslHstsAge: 5.184e+06\n      sslHstsIncludeSubdomains: disable\n      sslHttpLocationConversion: disable\n      sslHttpMatchHost: enable\n      sslMaxVersion: tls-1.2\n      sslMinVersion: tls-1.1\n      sslMode: half\n      sslPfs: require\n      sslSendEmptyFrags: enable\n      sslServerAlgorithm: client\n      sslServerMaxVersion: client\n      sslServerMinVersion: client\n      sslServerSessionStateMax: 100\n      sslServerSessionStateTimeout: 60\n      sslServerSessionStateType: both\n      type: static-nat\n      weblogicServer: disable\n      websphereServer: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Vip can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/vip:Vip labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/vip:Vip labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addNat46Route": {
          "type": "string",
          "description": "Enable/disable adding NAT46 route. Valid values: `disable`, `enable`.\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable to respond to ARP requests for this virtual IP address. Enabled by default. Valid values: `disable`, `enable`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dnsMappingTtl": {
          "type": "integer",
          "description": "DNS mapping TTL (Set to zero to use TTL in DNS response, default = 0).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipExtaddr:VipExtaddr"
          },
          "description": "External FQDN address name. The structure of `extaddr` block is documented below.\n"
        },
        "extintf": {
          "type": "string",
          "description": "Interface connected to the source network that receives the packets that will be forwarded to the destination network.\n"
        },
        "extip": {
          "type": "string",
          "description": "IP address or address range on the external interface that you want to map to an address or address range on the destination network.\n"
        },
        "extport": {
          "type": "string",
          "description": "Incoming port number range that you want to map to a port number range on the destination network.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Custom defined ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gratuitousArpInterval": {
          "type": "integer",
          "description": "Enable to have the VIP send gratuitous ARPs. 0=disabled. Set from 5 up to 8640000 seconds to enable.\n"
        },
        "gslbDomainName": {
          "type": "string",
          "description": "Domain to use when integrating with FortiGSLB.\n"
        },
        "gslbHostname": {
          "type": "string",
          "description": "Hostname to use within the configured FortiGSLB domain.\n"
        },
        "gslbPublicIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipGslbPublicIp:VipGslbPublicIp"
          },
          "description": "Publicly accessible IP addresses for the FortiGSLB service. The structure of `gslb_public_ips` block is documented below.\n"
        },
        "h2Support": {
          "type": "string",
          "description": "Enable/disable HTTP2 support (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "h3Support": {
          "type": "string",
          "description": "Enable/disable HTTP3/QUIC support (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "httpCookieAge": {
          "type": "integer",
          "description": "Time in minutes that client web browsers should keep a cookie. Default is 60 seconds. 0 = no time limit.\n"
        },
        "httpCookieDomain": {
          "type": "string",
          "description": "Domain that HTTP cookie persistence should apply to.\n"
        },
        "httpCookieDomainFromHost": {
          "type": "string",
          "description": "Enable/disable use of HTTP cookie domain from host field in HTTP. Valid values: `disable`, `enable`.\n"
        },
        "httpCookieGeneration": {
          "type": "integer",
          "description": "Generation of HTTP cookie to be accepted. Changing invalidates all existing cookies.\n"
        },
        "httpCookiePath": {
          "type": "string",
          "description": "Limit HTTP cookie persistence to the specified path.\n"
        },
        "httpCookieShare": {
          "type": "string",
          "description": "Control sharing of cookies across virtual servers. same-ip means a cookie from one virtual server can be used by another. Disable stops cookie sharing. Valid values: `disable`, `same-ip`.\n"
        },
        "httpIpHeader": {
          "type": "string",
          "description": "For HTTP multiplexing, enable to add the original client IP address in the XForwarded-For HTTP header. Valid values: `enable`, `disable`.\n"
        },
        "httpIpHeaderName": {
          "type": "string",
          "description": "For HTTP multiplexing, enter a custom HTTPS header name. The original client IP address is added to this header. If empty, X-Forwarded-For is used.\n"
        },
        "httpMultiplex": {
          "type": "string",
          "description": "Enable/disable HTTP multiplexing. Valid values: `enable`, `disable`.\n"
        },
        "httpMultiplexMaxConcurrentRequest": {
          "type": "integer",
          "description": "Maximum number of concurrent requests that a multiplex server can handle (default = unlimited).\n"
        },
        "httpMultiplexMaxRequest": {
          "type": "integer",
          "description": "Maximum number of requests that a multiplex server can handle before disconnecting sessions (default = unlimited).\n"
        },
        "httpMultiplexTtl": {
          "type": "integer",
          "description": "Time-to-live for idle connections to servers.\n"
        },
        "httpRedirect": {
          "type": "string",
          "description": "Enable/disable redirection of HTTP to HTTPS Valid values: `enable`, `disable`.\n"
        },
        "httpSupportedMaxVersion": {
          "type": "string",
          "description": "Maximum supported HTTP versions. default = HTTP2 Valid values: `http1`, `http2`.\n"
        },
        "httpsCookieSecure": {
          "type": "string",
          "description": "Enable/disable verification that inserted HTTPS cookies are secure. Valid values: `disable`, `enable`.\n"
        },
        "ipv6Mappedip": {
          "type": "string",
          "description": "Start-mapped-IPv6-address [-end mapped-IPv6-address].\n"
        },
        "ipv6Mappedport": {
          "type": "string",
          "description": "IPv6 port number range on the destination network to which the external port number range is mapped.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Method used to distribute sessions to real servers. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`, `http-host`.\n"
        },
        "mappedAddr": {
          "type": "string",
          "description": "Mapped FQDN address name.\n"
        },
        "mappedips": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipMappedip:VipMappedip"
          },
          "description": "IP address or address range on the destination network to which the external IP address is mapped. The structure of `mappedip` block is documented below.\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Port number range on the destination network to which the external port number range is mapped.\n"
        },
        "maxEmbryonicConnections": {
          "type": "integer",
          "description": "Maximum number of incomplete connections.\n"
        },
        "monitors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipMonitor:VipMonitor"
          },
          "description": "Name of the health check monitor to use when polling to determine a virtual server's connectivity status. The structure of `monitor` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual IP name.\n"
        },
        "nat44": {
          "type": "string",
          "description": "Enable/disable NAT44. Valid values: `disable`, `enable`.\n"
        },
        "nat46": {
          "type": "string",
          "description": "Enable/disable NAT46. Valid values: `disable`, `enable`.\n"
        },
        "natSourceVip": {
          "type": "string",
          "description": "Enable/disable forcing the source NAT mapped IP to the external IP for all traffic. Valid values: `disable`, `enable`.\n"
        },
        "oneClickGslbServer": {
          "type": "string",
          "description": "Enable/disable one click GSLB server integration with FortiGSLB. Valid values: `disable`, `enable`.\n"
        },
        "outlookWebAccess": {
          "type": "string",
          "description": "Enable to add the Front-End-Https header for Microsoft Outlook Web Access. Valid values: `disable`, `enable`.\n"
        },
        "persistence": {
          "type": "string",
          "description": "Configure how to make sure that clients connect to the same server every time they make a request that is part of the same session. Valid values: `none`, `http-cookie`, `ssl-session-id`.\n"
        },
        "portforward": {
          "type": "string",
          "description": "Enable/disable port forwarding. Valid values: `disable`, `enable`.\n"
        },
        "portmappingType": {
          "type": "string",
          "description": "Port mapping type. Valid values: `1-to-1`, `m-to-n`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol to use when forwarding packets. Valid values: `tcp`, `udp`, `sctp`, `icmp`.\n"
        },
        "quic": {
          "$ref": "#/types/fortios:firewall%2FVipQuic:VipQuic",
          "description": "QUIC setting. The structure of `quic` block is documented below.\n"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipRealserver:VipRealserver"
          },
          "description": "Select the real servers that this server load balancing VIP will distribute traffic to. The structure of `realservers` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Protocol to be load balanced by the virtual server (also called the server load balance virtual IP). Valid values: `http`, `https`, `imaps`, `pop3s`, `smtps`, `ssl`, `tcp`, `udp`, `ip`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipService:VipService"
          },
          "description": "Service name. The structure of `service` block is documented below.\n"
        },
        "srcFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipSrcFilter:VipSrcFilter"
          },
          "description": "Source address filter. Each address must be either an IP/subnet (x.x.x.x/n) or a range (x.x.x.x-y.y.y.y). Separate addresses with spaces. The structure of `src_filter` block is documented below.\n"
        },
        "srcVipFilter": {
          "type": "string",
          "description": "Enable/disable use of 'src-filter' to match destinations for the reverse SNAT rule. Valid values: `disable`, `enable`.\n"
        },
        "srcintfFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipSrcintfFilter:VipSrcintfFilter"
          },
          "description": "Interfaces to which the VIP applies. Separate the names with spaces. The structure of `srcintf_filter` block is documented below.\n"
        },
        "sslAcceptFfdheGroups": {
          "type": "string",
          "description": "Enable/disable FFDHE cipher suite for SSL key exchange. Valid values: `enable`, `disable`.\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Permitted encryption algorithms for SSL sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "The name of the SSL certificate to use for SSL acceleration.\n"
        },
        "sslCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipSslCipherSuite:VipSslCipherSuite"
          },
          "description": "SSL/TLS cipher suites acceptable from a client, ordered by priority. The structure of `ssl_cipher_suites` block is documented below.\n"
        },
        "sslClientFallback": {
          "type": "string",
          "description": "Enable/disable support for preventing Downgrade Attacks on client connections (RFC 7507). Valid values: `disable`, `enable`.\n"
        },
        "sslClientRekeyCount": {
          "type": "integer",
          "description": "Maximum length of data in MB before triggering a client rekey (0 = disable).\n"
        },
        "sslClientRenegotiation": {
          "type": "string",
          "description": "Allow, deny, or require secure renegotiation of client sessions to comply with RFC 5746. Valid values: `allow`, `deny`, `secure`.\n"
        },
        "sslClientSessionStateMax": {
          "type": "integer",
          "description": "Maximum number of client to FortiGate SSL session states to keep.\n"
        },
        "sslClientSessionStateTimeout": {
          "type": "integer",
          "description": "Number of minutes to keep client to FortiGate SSL session state.\n"
        },
        "sslClientSessionStateType": {
          "type": "string",
          "description": "How to expire SSL sessions for the segment of the SSL connection between the client and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions. Valid values: `768`, `1024`, `1536`, `2048`, `3072`, `4096`.\n"
        },
        "sslHpkp": {
          "type": "string",
          "description": "Enable/disable including HPKP header in response. Valid values: `disable`, `enable`, `report-only`.\n"
        },
        "sslHpkpAge": {
          "type": "integer",
          "description": "Number of seconds the client should honour the HPKP setting.\n"
        },
        "sslHpkpBackup": {
          "type": "string",
          "description": "Certificate to generate backup HPKP pin from.\n"
        },
        "sslHpkpIncludeSubdomains": {
          "type": "string",
          "description": "Indicate that HPKP header applies to all subdomains. Valid values: `disable`, `enable`.\n"
        },
        "sslHpkpPrimary": {
          "type": "string",
          "description": "Certificate to generate primary HPKP pin from.\n"
        },
        "sslHpkpReportUri": {
          "type": "string",
          "description": "URL to report HPKP violations to.\n"
        },
        "sslHsts": {
          "type": "string",
          "description": "Enable/disable including HSTS header in response. Valid values: `disable`, `enable`.\n"
        },
        "sslHstsAge": {
          "type": "integer",
          "description": "Number of seconds the client should honour the HSTS setting.\n"
        },
        "sslHstsIncludeSubdomains": {
          "type": "string",
          "description": "Indicate that HSTS header applies to all subdomains. Valid values: `disable`, `enable`.\n"
        },
        "sslHttpLocationConversion": {
          "type": "string",
          "description": "Enable to replace HTTP with HTTPS in the reply's Location HTTP header field. Valid values: `enable`, `disable`.\n"
        },
        "sslHttpMatchHost": {
          "type": "string",
          "description": "Enable/disable HTTP host matching for location conversion. Valid values: `enable`, `disable`.\n"
        },
        "sslMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version acceptable from a client.\n"
        },
        "sslMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version acceptable from a client.\n"
        },
        "sslMode": {
          "type": "string",
          "description": "Apply SSL offloading between the client and the FortiGate (half) or from the client to the FortiGate and from the FortiGate to the server (full). Valid values: `half`, `full`.\n"
        },
        "sslPfs": {
          "type": "string",
          "description": "Select the cipher suites that can be used for SSL perfect forward secrecy (PFS). Applies to both client and server sessions. Valid values: `require`, `deny`, `allow`.\n"
        },
        "sslSendEmptyFrags": {
          "type": "string",
          "description": "Enable/disable sending empty fragments to avoid CBC IV attacks (SSL 3.0 & TLS 1.0 only). May need to be disabled for compatibility with older systems. Valid values: `enable`, `disable`.\n"
        },
        "sslServerAlgorithm": {
          "type": "string",
          "description": "Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`, `client`.\n"
        },
        "sslServerCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipSslServerCipherSuite:VipSslServerCipherSuite"
          },
          "description": "SSL/TLS cipher suites to offer to a server, ordered by priority. The structure of `ssl_server_cipher_suites` block is documented below.\n"
        },
        "sslServerMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
        },
        "sslServerMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
        },
        "sslServerRenegotiation": {
          "type": "string",
          "description": "Enable/disable secure renegotiation to comply with RFC 5746. Valid values: `enable`, `disable`.\n"
        },
        "sslServerSessionStateMax": {
          "type": "integer",
          "description": "Maximum number of FortiGate to Server SSL session states to keep.\n"
        },
        "sslServerSessionStateTimeout": {
          "type": "integer",
          "description": "Number of minutes to keep FortiGate to Server SSL session state.\n"
        },
        "sslServerSessionStateType": {
          "type": "string",
          "description": "How to expire SSL sessions for the segment of the SSL connection between the server and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable VIP. Valid values: `disable`, `enable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Configure a static NAT, load balance, server load balance, DNS translation, or FQDN VIP.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "weblogicServer": {
          "type": "string",
          "description": "Enable to add an HTTP header to indicate SSL offloading for a WebLogic server. Valid values: `disable`, `enable`.\n"
        },
        "websphereServer": {
          "type": "string",
          "description": "Enable to add an HTTP header to indicate SSL offloading for a WebSphere server. Valid values: `disable`, `enable`.\n"
        }
      },
      "type": "object",
      "required": [
        "addNat46Route",
        "arpReply",
        "color",
        "dnsMappingTtl",
        "extintf",
        "extip",
        "extport",
        "fosid",
        "gratuitousArpInterval",
        "gslbDomainName",
        "gslbHostname",
        "h2Support",
        "h3Support",
        "httpCookieAge",
        "httpCookieDomain",
        "httpCookieDomainFromHost",
        "httpCookieGeneration",
        "httpCookiePath",
        "httpCookieShare",
        "httpIpHeader",
        "httpIpHeaderName",
        "httpMultiplex",
        "httpMultiplexMaxConcurrentRequest",
        "httpMultiplexMaxRequest",
        "httpMultiplexTtl",
        "httpRedirect",
        "httpSupportedMaxVersion",
        "httpsCookieSecure",
        "ipv6Mappedip",
        "ipv6Mappedport",
        "ldbMethod",
        "mappedAddr",
        "mappedport",
        "maxEmbryonicConnections",
        "name",
        "nat44",
        "nat46",
        "natSourceVip",
        "oneClickGslbServer",
        "outlookWebAccess",
        "persistence",
        "portforward",
        "portmappingType",
        "protocol",
        "quic",
        "serverType",
        "srcVipFilter",
        "sslAcceptFfdheGroups",
        "sslAlgorithm",
        "sslCertificate",
        "sslClientFallback",
        "sslClientRekeyCount",
        "sslClientRenegotiation",
        "sslClientSessionStateMax",
        "sslClientSessionStateTimeout",
        "sslClientSessionStateType",
        "sslDhBits",
        "sslHpkp",
        "sslHpkpAge",
        "sslHpkpBackup",
        "sslHpkpIncludeSubdomains",
        "sslHpkpPrimary",
        "sslHsts",
        "sslHstsAge",
        "sslHstsIncludeSubdomains",
        "sslHttpLocationConversion",
        "sslHttpMatchHost",
        "sslMaxVersion",
        "sslMinVersion",
        "sslMode",
        "sslPfs",
        "sslSendEmptyFrags",
        "sslServerAlgorithm",
        "sslServerMaxVersion",
        "sslServerMinVersion",
        "sslServerRenegotiation",
        "sslServerSessionStateMax",
        "sslServerSessionStateTimeout",
        "sslServerSessionStateType",
        "status",
        "type",
        "uuid",
        "vdomparam",
        "weblogicServer",
        "websphereServer"
      ],
      "inputProperties": {
        "addNat46Route": {
          "type": "string",
          "description": "Enable/disable adding NAT46 route. Valid values: `disable`, `enable`.\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable to respond to ARP requests for this virtual IP address. Enabled by default. Valid values: `disable`, `enable`.\n"
        },
        "color": {
          "type": "integer",
          "description": "Color of icon on the GUI.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dnsMappingTtl": {
          "type": "integer",
          "description": "DNS mapping TTL (Set to zero to use TTL in DNS response, default = 0).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extaddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipExtaddr:VipExtaddr"
          },
          "description": "External FQDN address name. The structure of `extaddr` block is documented below.\n"
        },
        "extintf": {
          "type": "string",
          "description": "Interface connected to the source network that receives the packets that will be forwarded to the destination network.\n"
        },
        "extip": {
          "type": "string",
          "description": "IP address or address range on the external interface that you want to map to an address or address range on the destination network.\n"
        },
        "extport": {
          "type": "string",
          "description": "Incoming port number range that you want to map to a port number range on the destination network.\n"
        },
        "fosid": {
          "type": "integer",
          "description": "Custom defined ID.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gratuitousArpInterval": {
          "type": "integer",
          "description": "Enable to have the VIP send gratuitous ARPs. 0=disabled. Set from 5 up to 8640000 seconds to enable.\n"
        },
        "gslbDomainName": {
          "type": "string",
          "description": "Domain to use when integrating with FortiGSLB.\n"
        },
        "gslbHostname": {
          "type": "string",
          "description": "Hostname to use within the configured FortiGSLB domain.\n"
        },
        "gslbPublicIps": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipGslbPublicIp:VipGslbPublicIp"
          },
          "description": "Publicly accessible IP addresses for the FortiGSLB service. The structure of `gslb_public_ips` block is documented below.\n"
        },
        "h2Support": {
          "type": "string",
          "description": "Enable/disable HTTP2 support (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "h3Support": {
          "type": "string",
          "description": "Enable/disable HTTP3/QUIC support (default = disable). Valid values: `enable`, `disable`.\n"
        },
        "httpCookieAge": {
          "type": "integer",
          "description": "Time in minutes that client web browsers should keep a cookie. Default is 60 seconds. 0 = no time limit.\n"
        },
        "httpCookieDomain": {
          "type": "string",
          "description": "Domain that HTTP cookie persistence should apply to.\n"
        },
        "httpCookieDomainFromHost": {
          "type": "string",
          "description": "Enable/disable use of HTTP cookie domain from host field in HTTP. Valid values: `disable`, `enable`.\n"
        },
        "httpCookieGeneration": {
          "type": "integer",
          "description": "Generation of HTTP cookie to be accepted. Changing invalidates all existing cookies.\n"
        },
        "httpCookiePath": {
          "type": "string",
          "description": "Limit HTTP cookie persistence to the specified path.\n"
        },
        "httpCookieShare": {
          "type": "string",
          "description": "Control sharing of cookies across virtual servers. same-ip means a cookie from one virtual server can be used by another. Disable stops cookie sharing. Valid values: `disable`, `same-ip`.\n"
        },
        "httpIpHeader": {
          "type": "string",
          "description": "For HTTP multiplexing, enable to add the original client IP address in the XForwarded-For HTTP header. Valid values: `enable`, `disable`.\n"
        },
        "httpIpHeaderName": {
          "type": "string",
          "description": "For HTTP multiplexing, enter a custom HTTPS header name. The original client IP address is added to this header. If empty, X-Forwarded-For is used.\n"
        },
        "httpMultiplex": {
          "type": "string",
          "description": "Enable/disable HTTP multiplexing. Valid values: `enable`, `disable`.\n"
        },
        "httpMultiplexMaxConcurrentRequest": {
          "type": "integer",
          "description": "Maximum number of concurrent requests that a multiplex server can handle (default = unlimited).\n"
        },
        "httpMultiplexMaxRequest": {
          "type": "integer",
          "description": "Maximum number of requests that a multiplex server can handle before disconnecting sessions (default = unlimited).\n"
        },
        "httpMultiplexTtl": {
          "type": "integer",
          "description": "Time-to-live for idle connections to servers.\n"
        },
        "httpRedirect": {
          "type": "string",
          "description": "Enable/disable redirection of HTTP to HTTPS Valid values: `enable`, `disable`.\n"
        },
        "httpSupportedMaxVersion": {
          "type": "string",
          "description": "Maximum supported HTTP versions. default = HTTP2 Valid values: `http1`, `http2`.\n"
        },
        "httpsCookieSecure": {
          "type": "string",
          "description": "Enable/disable verification that inserted HTTPS cookies are secure. Valid values: `disable`, `enable`.\n"
        },
        "ipv6Mappedip": {
          "type": "string",
          "description": "Start-mapped-IPv6-address [-end mapped-IPv6-address].\n"
        },
        "ipv6Mappedport": {
          "type": "string",
          "description": "IPv6 port number range on the destination network to which the external port number range is mapped.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Method used to distribute sessions to real servers. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`, `http-host`.\n"
        },
        "mappedAddr": {
          "type": "string",
          "description": "Mapped FQDN address name.\n"
        },
        "mappedips": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipMappedip:VipMappedip"
          },
          "description": "IP address or address range on the destination network to which the external IP address is mapped. The structure of `mappedip` block is documented below.\n"
        },
        "mappedport": {
          "type": "string",
          "description": "Port number range on the destination network to which the external port number range is mapped.\n"
        },
        "maxEmbryonicConnections": {
          "type": "integer",
          "description": "Maximum number of incomplete connections.\n"
        },
        "monitors": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipMonitor:VipMonitor"
          },
          "description": "Name of the health check monitor to use when polling to determine a virtual server's connectivity status. The structure of `monitor` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual IP name.\n"
        },
        "nat44": {
          "type": "string",
          "description": "Enable/disable NAT44. Valid values: `disable`, `enable`.\n"
        },
        "nat46": {
          "type": "string",
          "description": "Enable/disable NAT46. Valid values: `disable`, `enable`.\n"
        },
        "natSourceVip": {
          "type": "string",
          "description": "Enable/disable forcing the source NAT mapped IP to the external IP for all traffic. Valid values: `disable`, `enable`.\n"
        },
        "oneClickGslbServer": {
          "type": "string",
          "description": "Enable/disable one click GSLB server integration with FortiGSLB. Valid values: `disable`, `enable`.\n"
        },
        "outlookWebAccess": {
          "type": "string",
          "description": "Enable to add the Front-End-Https header for Microsoft Outlook Web Access. Valid values: `disable`, `enable`.\n"
        },
        "persistence": {
          "type": "string",
          "description": "Configure how to make sure that clients connect to the same server every time they make a request that is part of the same session. Valid values: `none`, `http-cookie`, `ssl-session-id`.\n"
        },
        "portforward": {
          "type": "string",
          "description": "Enable/disable port forwarding. Valid values: `disable`, `enable`.\n"
        },
        "portmappingType": {
          "type": "string",
          "description": "Port mapping type. Valid values: `1-to-1`, `m-to-n`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol to use when forwarding packets. Valid values: `tcp`, `udp`, `sctp`, `icmp`.\n"
        },
        "quic": {
          "$ref": "#/types/fortios:firewall%2FVipQuic:VipQuic",
          "description": "QUIC setting. The structure of `quic` block is documented below.\n"
        },
        "realservers": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipRealserver:VipRealserver"
          },
          "description": "Select the real servers that this server load balancing VIP will distribute traffic to. The structure of `realservers` block is documented below.\n"
        },
        "serverType": {
          "type": "string",
          "description": "Protocol to be load balanced by the virtual server (also called the server load balance virtual IP). Valid values: `http`, `https`, `imaps`, `pop3s`, `smtps`, `ssl`, `tcp`, `udp`, `ip`.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipService:VipService"
          },
          "description": "Service name. The structure of `service` block is documented below.\n"
        },
        "srcFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipSrcFilter:VipSrcFilter"
          },
          "description": "Source address filter. Each address must be either an IP/subnet (x.x.x.x/n) or a range (x.x.x.x-y.y.y.y). Separate addresses with spaces. The structure of `src_filter` block is documented below.\n"
        },
        "srcVipFilter": {
          "type": "string",
          "description": "Enable/disable use of 'src-filter' to match destinations for the reverse SNAT rule. Valid values: `disable`, `enable`.\n"
        },
        "srcintfFilters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipSrcintfFilter:VipSrcintfFilter"
          },
          "description": "Interfaces to which the VIP applies. Separate the names with spaces. The structure of `srcintf_filter` block is documented below.\n"
        },
        "sslAcceptFfdheGroups": {
          "type": "string",
          "description": "Enable/disable FFDHE cipher suite for SSL key exchange. Valid values: `enable`, `disable`.\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Permitted encryption algorithms for SSL sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`.\n"
        },
        "sslCertificate": {
          "type": "string",
          "description": "The name of the SSL certificate to use for SSL acceleration.\n"
        },
        "sslCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipSslCipherSuite:VipSslCipherSuite"
          },
          "description": "SSL/TLS cipher suites acceptable from a client, ordered by priority. The structure of `ssl_cipher_suites` block is documented below.\n"
        },
        "sslClientFallback": {
          "type": "string",
          "description": "Enable/disable support for preventing Downgrade Attacks on client connections (RFC 7507). Valid values: `disable`, `enable`.\n"
        },
        "sslClientRekeyCount": {
          "type": "integer",
          "description": "Maximum length of data in MB before triggering a client rekey (0 = disable).\n"
        },
        "sslClientRenegotiation": {
          "type": "string",
          "description": "Allow, deny, or require secure renegotiation of client sessions to comply with RFC 5746. Valid values: `allow`, `deny`, `secure`.\n"
        },
        "sslClientSessionStateMax": {
          "type": "integer",
          "description": "Maximum number of client to FortiGate SSL session states to keep.\n"
        },
        "sslClientSessionStateTimeout": {
          "type": "integer",
          "description": "Number of minutes to keep client to FortiGate SSL session state.\n"
        },
        "sslClientSessionStateType": {
          "type": "string",
          "description": "How to expire SSL sessions for the segment of the SSL connection between the client and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions. Valid values: `768`, `1024`, `1536`, `2048`, `3072`, `4096`.\n"
        },
        "sslHpkp": {
          "type": "string",
          "description": "Enable/disable including HPKP header in response. Valid values: `disable`, `enable`, `report-only`.\n"
        },
        "sslHpkpAge": {
          "type": "integer",
          "description": "Number of seconds the client should honour the HPKP setting.\n"
        },
        "sslHpkpBackup": {
          "type": "string",
          "description": "Certificate to generate backup HPKP pin from.\n"
        },
        "sslHpkpIncludeSubdomains": {
          "type": "string",
          "description": "Indicate that HPKP header applies to all subdomains. Valid values: `disable`, `enable`.\n"
        },
        "sslHpkpPrimary": {
          "type": "string",
          "description": "Certificate to generate primary HPKP pin from.\n"
        },
        "sslHpkpReportUri": {
          "type": "string",
          "description": "URL to report HPKP violations to.\n"
        },
        "sslHsts": {
          "type": "string",
          "description": "Enable/disable including HSTS header in response. Valid values: `disable`, `enable`.\n"
        },
        "sslHstsAge": {
          "type": "integer",
          "description": "Number of seconds the client should honour the HSTS setting.\n"
        },
        "sslHstsIncludeSubdomains": {
          "type": "string",
          "description": "Indicate that HSTS header applies to all subdomains. Valid values: `disable`, `enable`.\n"
        },
        "sslHttpLocationConversion": {
          "type": "string",
          "description": "Enable to replace HTTP with HTTPS in the reply's Location HTTP header field. Valid values: `enable`, `disable`.\n"
        },
        "sslHttpMatchHost": {
          "type": "string",
          "description": "Enable/disable HTTP host matching for location conversion. Valid values: `enable`, `disable`.\n"
        },
        "sslMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version acceptable from a client.\n"
        },
        "sslMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version acceptable from a client.\n"
        },
        "sslMode": {
          "type": "string",
          "description": "Apply SSL offloading between the client and the FortiGate (half) or from the client to the FortiGate and from the FortiGate to the server (full). Valid values: `half`, `full`.\n"
        },
        "sslPfs": {
          "type": "string",
          "description": "Select the cipher suites that can be used for SSL perfect forward secrecy (PFS). Applies to both client and server sessions. Valid values: `require`, `deny`, `allow`.\n"
        },
        "sslSendEmptyFrags": {
          "type": "string",
          "description": "Enable/disable sending empty fragments to avoid CBC IV attacks (SSL 3.0 & TLS 1.0 only). May need to be disabled for compatibility with older systems. Valid values: `enable`, `disable`.\n"
        },
        "sslServerAlgorithm": {
          "type": "string",
          "description": "Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`, `client`.\n"
        },
        "sslServerCipherSuites": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipSslServerCipherSuite:VipSslServerCipherSuite"
          },
          "description": "SSL/TLS cipher suites to offer to a server, ordered by priority. The structure of `ssl_server_cipher_suites` block is documented below.\n"
        },
        "sslServerMaxVersion": {
          "type": "string",
          "description": "Highest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
        },
        "sslServerMinVersion": {
          "type": "string",
          "description": "Lowest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
        },
        "sslServerRenegotiation": {
          "type": "string",
          "description": "Enable/disable secure renegotiation to comply with RFC 5746. Valid values: `enable`, `disable`.\n"
        },
        "sslServerSessionStateMax": {
          "type": "integer",
          "description": "Maximum number of FortiGate to Server SSL session states to keep.\n"
        },
        "sslServerSessionStateTimeout": {
          "type": "integer",
          "description": "Number of minutes to keep FortiGate to Server SSL session state.\n"
        },
        "sslServerSessionStateType": {
          "type": "string",
          "description": "How to expire SSL sessions for the segment of the SSL connection between the server and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable VIP. Valid values: `disable`, `enable`.\n"
        },
        "type": {
          "type": "string",
          "description": "Configure a static NAT, load balance, server load balance, DNS translation, or FQDN VIP.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "weblogicServer": {
          "type": "string",
          "description": "Enable to add an HTTP header to indicate SSL offloading for a WebLogic server. Valid values: `disable`, `enable`.\n"
        },
        "websphereServer": {
          "type": "string",
          "description": "Enable to add an HTTP header to indicate SSL offloading for a WebSphere server. Valid values: `disable`, `enable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vip resources.\n",
        "properties": {
          "addNat46Route": {
            "type": "string",
            "description": "Enable/disable adding NAT46 route. Valid values: `disable`, `enable`.\n"
          },
          "arpReply": {
            "type": "string",
            "description": "Enable to respond to ARP requests for this virtual IP address. Enabled by default. Valid values: `disable`, `enable`.\n"
          },
          "color": {
            "type": "integer",
            "description": "Color of icon on the GUI.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dnsMappingTtl": {
            "type": "integer",
            "description": "DNS mapping TTL (Set to zero to use TTL in DNS response, default = 0).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "extaddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipExtaddr:VipExtaddr"
            },
            "description": "External FQDN address name. The structure of `extaddr` block is documented below.\n"
          },
          "extintf": {
            "type": "string",
            "description": "Interface connected to the source network that receives the packets that will be forwarded to the destination network.\n"
          },
          "extip": {
            "type": "string",
            "description": "IP address or address range on the external interface that you want to map to an address or address range on the destination network.\n"
          },
          "extport": {
            "type": "string",
            "description": "Incoming port number range that you want to map to a port number range on the destination network.\n"
          },
          "fosid": {
            "type": "integer",
            "description": "Custom defined ID.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gratuitousArpInterval": {
            "type": "integer",
            "description": "Enable to have the VIP send gratuitous ARPs. 0=disabled. Set from 5 up to 8640000 seconds to enable.\n"
          },
          "gslbDomainName": {
            "type": "string",
            "description": "Domain to use when integrating with FortiGSLB.\n"
          },
          "gslbHostname": {
            "type": "string",
            "description": "Hostname to use within the configured FortiGSLB domain.\n"
          },
          "gslbPublicIps": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipGslbPublicIp:VipGslbPublicIp"
            },
            "description": "Publicly accessible IP addresses for the FortiGSLB service. The structure of `gslb_public_ips` block is documented below.\n"
          },
          "h2Support": {
            "type": "string",
            "description": "Enable/disable HTTP2 support (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "h3Support": {
            "type": "string",
            "description": "Enable/disable HTTP3/QUIC support (default = disable). Valid values: `enable`, `disable`.\n"
          },
          "httpCookieAge": {
            "type": "integer",
            "description": "Time in minutes that client web browsers should keep a cookie. Default is 60 seconds. 0 = no time limit.\n"
          },
          "httpCookieDomain": {
            "type": "string",
            "description": "Domain that HTTP cookie persistence should apply to.\n"
          },
          "httpCookieDomainFromHost": {
            "type": "string",
            "description": "Enable/disable use of HTTP cookie domain from host field in HTTP. Valid values: `disable`, `enable`.\n"
          },
          "httpCookieGeneration": {
            "type": "integer",
            "description": "Generation of HTTP cookie to be accepted. Changing invalidates all existing cookies.\n"
          },
          "httpCookiePath": {
            "type": "string",
            "description": "Limit HTTP cookie persistence to the specified path.\n"
          },
          "httpCookieShare": {
            "type": "string",
            "description": "Control sharing of cookies across virtual servers. same-ip means a cookie from one virtual server can be used by another. Disable stops cookie sharing. Valid values: `disable`, `same-ip`.\n"
          },
          "httpIpHeader": {
            "type": "string",
            "description": "For HTTP multiplexing, enable to add the original client IP address in the XForwarded-For HTTP header. Valid values: `enable`, `disable`.\n"
          },
          "httpIpHeaderName": {
            "type": "string",
            "description": "For HTTP multiplexing, enter a custom HTTPS header name. The original client IP address is added to this header. If empty, X-Forwarded-For is used.\n"
          },
          "httpMultiplex": {
            "type": "string",
            "description": "Enable/disable HTTP multiplexing. Valid values: `enable`, `disable`.\n"
          },
          "httpMultiplexMaxConcurrentRequest": {
            "type": "integer",
            "description": "Maximum number of concurrent requests that a multiplex server can handle (default = unlimited).\n"
          },
          "httpMultiplexMaxRequest": {
            "type": "integer",
            "description": "Maximum number of requests that a multiplex server can handle before disconnecting sessions (default = unlimited).\n"
          },
          "httpMultiplexTtl": {
            "type": "integer",
            "description": "Time-to-live for idle connections to servers.\n"
          },
          "httpRedirect": {
            "type": "string",
            "description": "Enable/disable redirection of HTTP to HTTPS Valid values: `enable`, `disable`.\n"
          },
          "httpSupportedMaxVersion": {
            "type": "string",
            "description": "Maximum supported HTTP versions. default = HTTP2 Valid values: `http1`, `http2`.\n"
          },
          "httpsCookieSecure": {
            "type": "string",
            "description": "Enable/disable verification that inserted HTTPS cookies are secure. Valid values: `disable`, `enable`.\n"
          },
          "ipv6Mappedip": {
            "type": "string",
            "description": "Start-mapped-IPv6-address [-end mapped-IPv6-address].\n"
          },
          "ipv6Mappedport": {
            "type": "string",
            "description": "IPv6 port number range on the destination network to which the external port number range is mapped.\n"
          },
          "ldbMethod": {
            "type": "string",
            "description": "Method used to distribute sessions to real servers. Valid values: `static`, `round-robin`, `weighted`, `least-session`, `least-rtt`, `first-alive`, `http-host`.\n"
          },
          "mappedAddr": {
            "type": "string",
            "description": "Mapped FQDN address name.\n"
          },
          "mappedips": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipMappedip:VipMappedip"
            },
            "description": "IP address or address range on the destination network to which the external IP address is mapped. The structure of `mappedip` block is documented below.\n"
          },
          "mappedport": {
            "type": "string",
            "description": "Port number range on the destination network to which the external port number range is mapped.\n"
          },
          "maxEmbryonicConnections": {
            "type": "integer",
            "description": "Maximum number of incomplete connections.\n"
          },
          "monitors": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipMonitor:VipMonitor"
            },
            "description": "Name of the health check monitor to use when polling to determine a virtual server's connectivity status. The structure of `monitor` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Virtual IP name.\n"
          },
          "nat44": {
            "type": "string",
            "description": "Enable/disable NAT44. Valid values: `disable`, `enable`.\n"
          },
          "nat46": {
            "type": "string",
            "description": "Enable/disable NAT46. Valid values: `disable`, `enable`.\n"
          },
          "natSourceVip": {
            "type": "string",
            "description": "Enable/disable forcing the source NAT mapped IP to the external IP for all traffic. Valid values: `disable`, `enable`.\n"
          },
          "oneClickGslbServer": {
            "type": "string",
            "description": "Enable/disable one click GSLB server integration with FortiGSLB. Valid values: `disable`, `enable`.\n"
          },
          "outlookWebAccess": {
            "type": "string",
            "description": "Enable to add the Front-End-Https header for Microsoft Outlook Web Access. Valid values: `disable`, `enable`.\n"
          },
          "persistence": {
            "type": "string",
            "description": "Configure how to make sure that clients connect to the same server every time they make a request that is part of the same session. Valid values: `none`, `http-cookie`, `ssl-session-id`.\n"
          },
          "portforward": {
            "type": "string",
            "description": "Enable/disable port forwarding. Valid values: `disable`, `enable`.\n"
          },
          "portmappingType": {
            "type": "string",
            "description": "Port mapping type. Valid values: `1-to-1`, `m-to-n`.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol to use when forwarding packets. Valid values: `tcp`, `udp`, `sctp`, `icmp`.\n"
          },
          "quic": {
            "$ref": "#/types/fortios:firewall%2FVipQuic:VipQuic",
            "description": "QUIC setting. The structure of `quic` block is documented below.\n"
          },
          "realservers": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipRealserver:VipRealserver"
            },
            "description": "Select the real servers that this server load balancing VIP will distribute traffic to. The structure of `realservers` block is documented below.\n"
          },
          "serverType": {
            "type": "string",
            "description": "Protocol to be load balanced by the virtual server (also called the server load balance virtual IP). Valid values: `http`, `https`, `imaps`, `pop3s`, `smtps`, `ssl`, `tcp`, `udp`, `ip`.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipService:VipService"
            },
            "description": "Service name. The structure of `service` block is documented below.\n"
          },
          "srcFilters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipSrcFilter:VipSrcFilter"
            },
            "description": "Source address filter. Each address must be either an IP/subnet (x.x.x.x/n) or a range (x.x.x.x-y.y.y.y). Separate addresses with spaces. The structure of `src_filter` block is documented below.\n"
          },
          "srcVipFilter": {
            "type": "string",
            "description": "Enable/disable use of 'src-filter' to match destinations for the reverse SNAT rule. Valid values: `disable`, `enable`.\n"
          },
          "srcintfFilters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipSrcintfFilter:VipSrcintfFilter"
            },
            "description": "Interfaces to which the VIP applies. Separate the names with spaces. The structure of `srcintf_filter` block is documented below.\n"
          },
          "sslAcceptFfdheGroups": {
            "type": "string",
            "description": "Enable/disable FFDHE cipher suite for SSL key exchange. Valid values: `enable`, `disable`.\n"
          },
          "sslAlgorithm": {
            "type": "string",
            "description": "Permitted encryption algorithms for SSL sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`.\n"
          },
          "sslCertificate": {
            "type": "string",
            "description": "The name of the SSL certificate to use for SSL acceleration.\n"
          },
          "sslCipherSuites": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipSslCipherSuite:VipSslCipherSuite"
            },
            "description": "SSL/TLS cipher suites acceptable from a client, ordered by priority. The structure of `ssl_cipher_suites` block is documented below.\n"
          },
          "sslClientFallback": {
            "type": "string",
            "description": "Enable/disable support for preventing Downgrade Attacks on client connections (RFC 7507). Valid values: `disable`, `enable`.\n"
          },
          "sslClientRekeyCount": {
            "type": "integer",
            "description": "Maximum length of data in MB before triggering a client rekey (0 = disable).\n"
          },
          "sslClientRenegotiation": {
            "type": "string",
            "description": "Allow, deny, or require secure renegotiation of client sessions to comply with RFC 5746. Valid values: `allow`, `deny`, `secure`.\n"
          },
          "sslClientSessionStateMax": {
            "type": "integer",
            "description": "Maximum number of client to FortiGate SSL session states to keep.\n"
          },
          "sslClientSessionStateTimeout": {
            "type": "integer",
            "description": "Number of minutes to keep client to FortiGate SSL session state.\n"
          },
          "sslClientSessionStateType": {
            "type": "string",
            "description": "How to expire SSL sessions for the segment of the SSL connection between the client and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
          },
          "sslDhBits": {
            "type": "string",
            "description": "Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions. Valid values: `768`, `1024`, `1536`, `2048`, `3072`, `4096`.\n"
          },
          "sslHpkp": {
            "type": "string",
            "description": "Enable/disable including HPKP header in response. Valid values: `disable`, `enable`, `report-only`.\n"
          },
          "sslHpkpAge": {
            "type": "integer",
            "description": "Number of seconds the client should honour the HPKP setting.\n"
          },
          "sslHpkpBackup": {
            "type": "string",
            "description": "Certificate to generate backup HPKP pin from.\n"
          },
          "sslHpkpIncludeSubdomains": {
            "type": "string",
            "description": "Indicate that HPKP header applies to all subdomains. Valid values: `disable`, `enable`.\n"
          },
          "sslHpkpPrimary": {
            "type": "string",
            "description": "Certificate to generate primary HPKP pin from.\n"
          },
          "sslHpkpReportUri": {
            "type": "string",
            "description": "URL to report HPKP violations to.\n"
          },
          "sslHsts": {
            "type": "string",
            "description": "Enable/disable including HSTS header in response. Valid values: `disable`, `enable`.\n"
          },
          "sslHstsAge": {
            "type": "integer",
            "description": "Number of seconds the client should honour the HSTS setting.\n"
          },
          "sslHstsIncludeSubdomains": {
            "type": "string",
            "description": "Indicate that HSTS header applies to all subdomains. Valid values: `disable`, `enable`.\n"
          },
          "sslHttpLocationConversion": {
            "type": "string",
            "description": "Enable to replace HTTP with HTTPS in the reply's Location HTTP header field. Valid values: `enable`, `disable`.\n"
          },
          "sslHttpMatchHost": {
            "type": "string",
            "description": "Enable/disable HTTP host matching for location conversion. Valid values: `enable`, `disable`.\n"
          },
          "sslMaxVersion": {
            "type": "string",
            "description": "Highest SSL/TLS version acceptable from a client.\n"
          },
          "sslMinVersion": {
            "type": "string",
            "description": "Lowest SSL/TLS version acceptable from a client.\n"
          },
          "sslMode": {
            "type": "string",
            "description": "Apply SSL offloading between the client and the FortiGate (half) or from the client to the FortiGate and from the FortiGate to the server (full). Valid values: `half`, `full`.\n"
          },
          "sslPfs": {
            "type": "string",
            "description": "Select the cipher suites that can be used for SSL perfect forward secrecy (PFS). Applies to both client and server sessions. Valid values: `require`, `deny`, `allow`.\n"
          },
          "sslSendEmptyFrags": {
            "type": "string",
            "description": "Enable/disable sending empty fragments to avoid CBC IV attacks (SSL 3.0 & TLS 1.0 only). May need to be disabled for compatibility with older systems. Valid values: `enable`, `disable`.\n"
          },
          "sslServerAlgorithm": {
            "type": "string",
            "description": "Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. Valid values: `high`, `medium`, `low`, `custom`, `client`.\n"
          },
          "sslServerCipherSuites": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipSslServerCipherSuite:VipSslServerCipherSuite"
            },
            "description": "SSL/TLS cipher suites to offer to a server, ordered by priority. The structure of `ssl_server_cipher_suites` block is documented below.\n"
          },
          "sslServerMaxVersion": {
            "type": "string",
            "description": "Highest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
          },
          "sslServerMinVersion": {
            "type": "string",
            "description": "Lowest SSL/TLS version acceptable from a server. Use the client setting by default.\n"
          },
          "sslServerRenegotiation": {
            "type": "string",
            "description": "Enable/disable secure renegotiation to comply with RFC 5746. Valid values: `enable`, `disable`.\n"
          },
          "sslServerSessionStateMax": {
            "type": "integer",
            "description": "Maximum number of FortiGate to Server SSL session states to keep.\n"
          },
          "sslServerSessionStateTimeout": {
            "type": "integer",
            "description": "Number of minutes to keep FortiGate to Server SSL session state.\n"
          },
          "sslServerSessionStateType": {
            "type": "string",
            "description": "How to expire SSL sessions for the segment of the SSL connection between the server and the FortiGate. Valid values: `disable`, `time`, `count`, `both`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable VIP. Valid values: `disable`, `enable`.\n"
          },
          "type": {
            "type": "string",
            "description": "Configure a static NAT, load balance, server load balance, DNS translation, or FQDN VIP.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "weblogicServer": {
            "type": "string",
            "description": "Enable to add an HTTP header to indicate SSL offloading for a WebLogic server. Valid values: `disable`, `enable`.\n"
          },
          "websphereServer": {
            "type": "string",
            "description": "Enable to add an HTTP header to indicate SSL offloading for a WebSphere server. Valid values: `disable`, `enable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/vipgrp46:Vipgrp46": {
      "description": "Configure IPv4 to IPv6 virtual IP groups. Applies to FortiOS Version `<= 7.0.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1 = new fortios.firewall.Vip46(\"trname1\", {\n    arpReply: \"enable\",\n    color: 0,\n    extip: \"10.202.1.100\",\n    extport: \"0-65535\",\n    fosid: 0,\n    ldbMethod: \"static\",\n    mappedip: \"2001:1:1:2::100\",\n    mappedport: \"0-65535\",\n    portforward: \"disable\",\n    protocol: \"tcp\",\n    type: \"static-nat\",\n});\nconst trname = new fortios.firewall.Vipgrp46(\"trname\", {\n    color: 0,\n    members: [{\n        name: trname1.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.firewall.Vip46(\"trname1\",\n    arp_reply=\"enable\",\n    color=0,\n    extip=\"10.202.1.100\",\n    extport=\"0-65535\",\n    fosid=0,\n    ldb_method=\"static\",\n    mappedip=\"2001:1:1:2::100\",\n    mappedport=\"0-65535\",\n    portforward=\"disable\",\n    protocol=\"tcp\",\n    type=\"static-nat\")\ntrname = fortios.firewall.Vipgrp46(\"trname\",\n    color=0,\n    members=[fortios.firewall.Vipgrp46MemberArgs(\n        name=trname1.name,\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname1 = new Fortios.Firewall.Vip46(\"trname1\", new()\n    {\n        ArpReply = \"enable\",\n        Color = 0,\n        Extip = \"10.202.1.100\",\n        Extport = \"0-65535\",\n        Fosid = 0,\n        LdbMethod = \"static\",\n        Mappedip = \"2001:1:1:2::100\",\n        Mappedport = \"0-65535\",\n        Portforward = \"disable\",\n        Protocol = \"tcp\",\n        Type = \"static-nat\",\n    });\n\n    var trname = new Fortios.Firewall.Vipgrp46(\"trname\", new()\n    {\n        Color = 0,\n        Members = new[]\n        {\n            new Fortios.Firewall.Inputs.Vipgrp46MemberArgs\n            {\n                Name = trname1.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := firewall.NewVip46(ctx, \"trname1\", &firewall.Vip46Args{\n\t\t\tArpReply:    pulumi.String(\"enable\"),\n\t\t\tColor:       pulumi.Int(0),\n\t\t\tExtip:       pulumi.String(\"10.202.1.100\"),\n\t\t\tExtport:     pulumi.String(\"0-65535\"),\n\t\t\tFosid:       pulumi.Int(0),\n\t\t\tLdbMethod:   pulumi.String(\"static\"),\n\t\t\tMappedip:    pulumi.String(\"2001:1:1:2::100\"),\n\t\t\tMappedport:  pulumi.String(\"0-65535\"),\n\t\t\tPortforward: pulumi.String(\"disable\"),\n\t\t\tProtocol:    pulumi.String(\"tcp\"),\n\t\t\tType:        pulumi.String(\"static-nat\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewVipgrp46(ctx, \"trname\", &firewall.Vipgrp46Args{\n\t\t\tColor: pulumi.Int(0),\n\t\t\tMembers: firewall.Vipgrp46MemberArray{\n\t\t\t\t&firewall.Vipgrp46MemberArgs{\n\t\t\t\t\tName: trname1.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Vip46;\nimport com.pulumi.fortios.firewall.Vip46Args;\nimport com.pulumi.fortios.firewall.Vipgrp46;\nimport com.pulumi.fortios.firewall.Vipgrp46Args;\nimport com.pulumi.fortios.firewall.inputs.Vipgrp46MemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname1 = new Vip46(\"trname1\", Vip46Args.builder()\n            .arpReply(\"enable\")\n            .color(0)\n            .extip(\"10.202.1.100\")\n            .extport(\"0-65535\")\n            .fosid(0)\n            .ldbMethod(\"static\")\n            .mappedip(\"2001:1:1:2::100\")\n            .mappedport(\"0-65535\")\n            .portforward(\"disable\")\n            .protocol(\"tcp\")\n            .type(\"static-nat\")\n            .build());\n\n        var trname = new Vipgrp46(\"trname\", Vipgrp46Args.builder()\n            .color(0)\n            .members(Vipgrp46MemberArgs.builder()\n                .name(trname1.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:firewall:Vip46\n    properties:\n      arpReply: enable\n      color: 0\n      extip: 10.202.1.100\n      extport: 0-65535\n      fosid: 0\n      ldbMethod: static\n      mappedip: 2001:1:1:2::100\n      mappedport: 0-65535\n      portforward: disable\n      protocol: tcp\n      type: static-nat\n  trname:\n    type: fortios:firewall:Vipgrp46\n    properties:\n      color: 0\n      members:\n        - name: ${trname1.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Vipgrp46 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/vipgrp46:Vipgrp46 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/vipgrp46:Vipgrp46 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipgrp46Member:Vipgrp46Member"
          },
          "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP46 group name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "members",
        "name",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipgrp46Member:Vipgrp46Member"
          },
          "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP46 group name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vipgrp46 resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipgrp46Member:Vipgrp46Member"
            },
            "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "VIP46 group name.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/vipgrp64:Vipgrp64": {
      "description": "Configure IPv6 to IPv4 virtual IP groups. Applies to FortiOS Version `<= 7.0.0`.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1 = new fortios.firewall.Vip64(\"trname1\", {\n    arpReply: \"enable\",\n    color: 0,\n    extip: \"2001:db8:99:503::22\",\n    extport: \"0-65535\",\n    fosid: 0,\n    ldbMethod: \"static\",\n    mappedip: \"1.1.3.1\",\n    mappedport: \"0-65535\",\n    portforward: \"disable\",\n    protocol: \"tcp\",\n    type: \"static-nat\",\n});\nconst trname = new fortios.firewall.Vipgrp64(\"trname\", {\n    color: 0,\n    members: [{\n        name: trname1.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.firewall.Vip64(\"trname1\",\n    arp_reply=\"enable\",\n    color=0,\n    extip=\"2001:db8:99:503::22\",\n    extport=\"0-65535\",\n    fosid=0,\n    ldb_method=\"static\",\n    mappedip=\"1.1.3.1\",\n    mappedport=\"0-65535\",\n    portforward=\"disable\",\n    protocol=\"tcp\",\n    type=\"static-nat\")\ntrname = fortios.firewall.Vipgrp64(\"trname\",\n    color=0,\n    members=[fortios.firewall.Vipgrp64MemberArgs(\n        name=trname1.name,\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname1 = new Fortios.Firewall.Vip64(\"trname1\", new()\n    {\n        ArpReply = \"enable\",\n        Color = 0,\n        Extip = \"2001:db8:99:503::22\",\n        Extport = \"0-65535\",\n        Fosid = 0,\n        LdbMethod = \"static\",\n        Mappedip = \"1.1.3.1\",\n        Mappedport = \"0-65535\",\n        Portforward = \"disable\",\n        Protocol = \"tcp\",\n        Type = \"static-nat\",\n    });\n\n    var trname = new Fortios.Firewall.Vipgrp64(\"trname\", new()\n    {\n        Color = 0,\n        Members = new[]\n        {\n            new Fortios.Firewall.Inputs.Vipgrp64MemberArgs\n            {\n                Name = trname1.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := firewall.NewVip64(ctx, \"trname1\", &firewall.Vip64Args{\n\t\t\tArpReply:    pulumi.String(\"enable\"),\n\t\t\tColor:       pulumi.Int(0),\n\t\t\tExtip:       pulumi.String(\"2001:db8:99:503::22\"),\n\t\t\tExtport:     pulumi.String(\"0-65535\"),\n\t\t\tFosid:       pulumi.Int(0),\n\t\t\tLdbMethod:   pulumi.String(\"static\"),\n\t\t\tMappedip:    pulumi.String(\"1.1.3.1\"),\n\t\t\tMappedport:  pulumi.String(\"0-65535\"),\n\t\t\tPortforward: pulumi.String(\"disable\"),\n\t\t\tProtocol:    pulumi.String(\"tcp\"),\n\t\t\tType:        pulumi.String(\"static-nat\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewVipgrp64(ctx, \"trname\", &firewall.Vipgrp64Args{\n\t\t\tColor: pulumi.Int(0),\n\t\t\tMembers: firewall.Vipgrp64MemberArray{\n\t\t\t\t&firewall.Vipgrp64MemberArgs{\n\t\t\t\t\tName: trname1.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Vip64;\nimport com.pulumi.fortios.firewall.Vip64Args;\nimport com.pulumi.fortios.firewall.Vipgrp64;\nimport com.pulumi.fortios.firewall.Vipgrp64Args;\nimport com.pulumi.fortios.firewall.inputs.Vipgrp64MemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname1 = new Vip64(\"trname1\", Vip64Args.builder()\n            .arpReply(\"enable\")\n            .color(0)\n            .extip(\"2001:db8:99:503::22\")\n            .extport(\"0-65535\")\n            .fosid(0)\n            .ldbMethod(\"static\")\n            .mappedip(\"1.1.3.1\")\n            .mappedport(\"0-65535\")\n            .portforward(\"disable\")\n            .protocol(\"tcp\")\n            .type(\"static-nat\")\n            .build());\n\n        var trname = new Vipgrp64(\"trname\", Vipgrp64Args.builder()\n            .color(0)\n            .members(Vipgrp64MemberArgs.builder()\n                .name(trname1.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:firewall:Vip64\n    properties:\n      arpReply: enable\n      color: 0\n      extip: 2001:db8:99:503::22\n      extport: 0-65535\n      fosid: 0\n      ldbMethod: static\n      mappedip: 1.1.3.1\n      mappedport: 0-65535\n      portforward: disable\n      protocol: tcp\n      type: static-nat\n  trname:\n    type: fortios:firewall:Vipgrp64\n    properties:\n      color: 0\n      members:\n        - name: ${trname1.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Vipgrp64 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/vipgrp64:Vipgrp64 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/vipgrp64:Vipgrp64 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipgrp64Member:Vipgrp64Member"
          },
          "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP64 group name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "members",
        "name",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipgrp64Member:Vipgrp64Member"
          },
          "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP64 group name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vipgrp64 resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipgrp64Member:Vipgrp64Member"
            },
            "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "VIP64 group name.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/vipgrp6:Vipgrp6": {
      "description": "Configure IPv6 virtual IP groups.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1 = new fortios.firewall.Vip6(\"trname1\", {\n    arpReply: \"enable\",\n    color: 0,\n    extip: \"2001:1:1:2::100\",\n    extport: \"0-65535\",\n    fosid: 0,\n    httpCookieAge: 60,\n    httpCookieDomainFromHost: \"disable\",\n    httpCookieGeneration: 0,\n    httpCookieShare: \"same-ip\",\n    httpIpHeader: \"disable\",\n    httpMultiplex: \"disable\",\n    httpsCookieSecure: \"disable\",\n    ldbMethod: \"static\",\n    mappedip: \"2001:1:1:2::200\",\n    mappedport: \"0-65535\",\n    maxEmbryonicConnections: 1000,\n    outlookWebAccess: \"disable\",\n    persistence: \"none\",\n    portforward: \"disable\",\n    protocol: \"tcp\",\n    sslAlgorithm: \"high\",\n    sslClientFallback: \"enable\",\n    sslClientRenegotiation: \"secure\",\n    sslClientSessionStateMax: 1000,\n    sslClientSessionStateTimeout: 30,\n    sslClientSessionStateType: \"both\",\n    sslDhBits: \"2048\",\n    sslHpkp: \"disable\",\n    sslHpkpAge: 5184000,\n    sslHpkpIncludeSubdomains: \"disable\",\n    sslHsts: \"disable\",\n    sslHstsAge: 5184000,\n    sslHstsIncludeSubdomains: \"disable\",\n    sslHttpLocationConversion: \"disable\",\n    sslHttpMatchHost: \"enable\",\n    sslMaxVersion: \"tls-1.2\",\n    sslMinVersion: \"tls-1.1\",\n    sslMode: \"half\",\n    sslPfs: \"require\",\n    sslSendEmptyFrags: \"enable\",\n    sslServerAlgorithm: \"client\",\n    sslServerMaxVersion: \"client\",\n    sslServerMinVersion: \"client\",\n    sslServerSessionStateMax: 100,\n    sslServerSessionStateTimeout: 60,\n    sslServerSessionStateType: \"both\",\n    type: \"static-nat\",\n    weblogicServer: \"disable\",\n    websphereServer: \"disable\",\n});\nconst trname = new fortios.firewall.Vipgrp6(\"trname\", {\n    color: 0,\n    members: [{\n        name: trname1.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.firewall.Vip6(\"trname1\",\n    arp_reply=\"enable\",\n    color=0,\n    extip=\"2001:1:1:2::100\",\n    extport=\"0-65535\",\n    fosid=0,\n    http_cookie_age=60,\n    http_cookie_domain_from_host=\"disable\",\n    http_cookie_generation=0,\n    http_cookie_share=\"same-ip\",\n    http_ip_header=\"disable\",\n    http_multiplex=\"disable\",\n    https_cookie_secure=\"disable\",\n    ldb_method=\"static\",\n    mappedip=\"2001:1:1:2::200\",\n    mappedport=\"0-65535\",\n    max_embryonic_connections=1000,\n    outlook_web_access=\"disable\",\n    persistence=\"none\",\n    portforward=\"disable\",\n    protocol=\"tcp\",\n    ssl_algorithm=\"high\",\n    ssl_client_fallback=\"enable\",\n    ssl_client_renegotiation=\"secure\",\n    ssl_client_session_state_max=1000,\n    ssl_client_session_state_timeout=30,\n    ssl_client_session_state_type=\"both\",\n    ssl_dh_bits=\"2048\",\n    ssl_hpkp=\"disable\",\n    ssl_hpkp_age=5184000,\n    ssl_hpkp_include_subdomains=\"disable\",\n    ssl_hsts=\"disable\",\n    ssl_hsts_age=5184000,\n    ssl_hsts_include_subdomains=\"disable\",\n    ssl_http_location_conversion=\"disable\",\n    ssl_http_match_host=\"enable\",\n    ssl_max_version=\"tls-1.2\",\n    ssl_min_version=\"tls-1.1\",\n    ssl_mode=\"half\",\n    ssl_pfs=\"require\",\n    ssl_send_empty_frags=\"enable\",\n    ssl_server_algorithm=\"client\",\n    ssl_server_max_version=\"client\",\n    ssl_server_min_version=\"client\",\n    ssl_server_session_state_max=100,\n    ssl_server_session_state_timeout=60,\n    ssl_server_session_state_type=\"both\",\n    type=\"static-nat\",\n    weblogic_server=\"disable\",\n    websphere_server=\"disable\")\ntrname = fortios.firewall.Vipgrp6(\"trname\",\n    color=0,\n    members=[fortios.firewall.Vipgrp6MemberArgs(\n        name=trname1.name,\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname1 = new Fortios.Firewall.Vip6(\"trname1\", new()\n    {\n        ArpReply = \"enable\",\n        Color = 0,\n        Extip = \"2001:1:1:2::100\",\n        Extport = \"0-65535\",\n        Fosid = 0,\n        HttpCookieAge = 60,\n        HttpCookieDomainFromHost = \"disable\",\n        HttpCookieGeneration = 0,\n        HttpCookieShare = \"same-ip\",\n        HttpIpHeader = \"disable\",\n        HttpMultiplex = \"disable\",\n        HttpsCookieSecure = \"disable\",\n        LdbMethod = \"static\",\n        Mappedip = \"2001:1:1:2::200\",\n        Mappedport = \"0-65535\",\n        MaxEmbryonicConnections = 1000,\n        OutlookWebAccess = \"disable\",\n        Persistence = \"none\",\n        Portforward = \"disable\",\n        Protocol = \"tcp\",\n        SslAlgorithm = \"high\",\n        SslClientFallback = \"enable\",\n        SslClientRenegotiation = \"secure\",\n        SslClientSessionStateMax = 1000,\n        SslClientSessionStateTimeout = 30,\n        SslClientSessionStateType = \"both\",\n        SslDhBits = \"2048\",\n        SslHpkp = \"disable\",\n        SslHpkpAge = 5184000,\n        SslHpkpIncludeSubdomains = \"disable\",\n        SslHsts = \"disable\",\n        SslHstsAge = 5184000,\n        SslHstsIncludeSubdomains = \"disable\",\n        SslHttpLocationConversion = \"disable\",\n        SslHttpMatchHost = \"enable\",\n        SslMaxVersion = \"tls-1.2\",\n        SslMinVersion = \"tls-1.1\",\n        SslMode = \"half\",\n        SslPfs = \"require\",\n        SslSendEmptyFrags = \"enable\",\n        SslServerAlgorithm = \"client\",\n        SslServerMaxVersion = \"client\",\n        SslServerMinVersion = \"client\",\n        SslServerSessionStateMax = 100,\n        SslServerSessionStateTimeout = 60,\n        SslServerSessionStateType = \"both\",\n        Type = \"static-nat\",\n        WeblogicServer = \"disable\",\n        WebsphereServer = \"disable\",\n    });\n\n    var trname = new Fortios.Firewall.Vipgrp6(\"trname\", new()\n    {\n        Color = 0,\n        Members = new[]\n        {\n            new Fortios.Firewall.Inputs.Vipgrp6MemberArgs\n            {\n                Name = trname1.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := firewall.NewVip6(ctx, \"trname1\", &firewall.Vip6Args{\n\t\t\tArpReply:                     pulumi.String(\"enable\"),\n\t\t\tColor:                        pulumi.Int(0),\n\t\t\tExtip:                        pulumi.String(\"2001:1:1:2::100\"),\n\t\t\tExtport:                      pulumi.String(\"0-65535\"),\n\t\t\tFosid:                        pulumi.Int(0),\n\t\t\tHttpCookieAge:                pulumi.Int(60),\n\t\t\tHttpCookieDomainFromHost:     pulumi.String(\"disable\"),\n\t\t\tHttpCookieGeneration:         pulumi.Int(0),\n\t\t\tHttpCookieShare:              pulumi.String(\"same-ip\"),\n\t\t\tHttpIpHeader:                 pulumi.String(\"disable\"),\n\t\t\tHttpMultiplex:                pulumi.String(\"disable\"),\n\t\t\tHttpsCookieSecure:            pulumi.String(\"disable\"),\n\t\t\tLdbMethod:                    pulumi.String(\"static\"),\n\t\t\tMappedip:                     pulumi.String(\"2001:1:1:2::200\"),\n\t\t\tMappedport:                   pulumi.String(\"0-65535\"),\n\t\t\tMaxEmbryonicConnections:      pulumi.Int(1000),\n\t\t\tOutlookWebAccess:             pulumi.String(\"disable\"),\n\t\t\tPersistence:                  pulumi.String(\"none\"),\n\t\t\tPortforward:                  pulumi.String(\"disable\"),\n\t\t\tProtocol:                     pulumi.String(\"tcp\"),\n\t\t\tSslAlgorithm:                 pulumi.String(\"high\"),\n\t\t\tSslClientFallback:            pulumi.String(\"enable\"),\n\t\t\tSslClientRenegotiation:       pulumi.String(\"secure\"),\n\t\t\tSslClientSessionStateMax:     pulumi.Int(1000),\n\t\t\tSslClientSessionStateTimeout: pulumi.Int(30),\n\t\t\tSslClientSessionStateType:    pulumi.String(\"both\"),\n\t\t\tSslDhBits:                    pulumi.String(\"2048\"),\n\t\t\tSslHpkp:                      pulumi.String(\"disable\"),\n\t\t\tSslHpkpAge:                   pulumi.Int(5184000),\n\t\t\tSslHpkpIncludeSubdomains:     pulumi.String(\"disable\"),\n\t\t\tSslHsts:                      pulumi.String(\"disable\"),\n\t\t\tSslHstsAge:                   pulumi.Int(5184000),\n\t\t\tSslHstsIncludeSubdomains:     pulumi.String(\"disable\"),\n\t\t\tSslHttpLocationConversion:    pulumi.String(\"disable\"),\n\t\t\tSslHttpMatchHost:             pulumi.String(\"enable\"),\n\t\t\tSslMaxVersion:                pulumi.String(\"tls-1.2\"),\n\t\t\tSslMinVersion:                pulumi.String(\"tls-1.1\"),\n\t\t\tSslMode:                      pulumi.String(\"half\"),\n\t\t\tSslPfs:                       pulumi.String(\"require\"),\n\t\t\tSslSendEmptyFrags:            pulumi.String(\"enable\"),\n\t\t\tSslServerAlgorithm:           pulumi.String(\"client\"),\n\t\t\tSslServerMaxVersion:          pulumi.String(\"client\"),\n\t\t\tSslServerMinVersion:          pulumi.String(\"client\"),\n\t\t\tSslServerSessionStateMax:     pulumi.Int(100),\n\t\t\tSslServerSessionStateTimeout: pulumi.Int(60),\n\t\t\tSslServerSessionStateType:    pulumi.String(\"both\"),\n\t\t\tType:                         pulumi.String(\"static-nat\"),\n\t\t\tWeblogicServer:               pulumi.String(\"disable\"),\n\t\t\tWebsphereServer:              pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewVipgrp6(ctx, \"trname\", &firewall.Vipgrp6Args{\n\t\t\tColor: pulumi.Int(0),\n\t\t\tMembers: firewall.Vipgrp6MemberArray{\n\t\t\t\t&firewall.Vipgrp6MemberArgs{\n\t\t\t\t\tName: trname1.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Vip6;\nimport com.pulumi.fortios.firewall.Vip6Args;\nimport com.pulumi.fortios.firewall.Vipgrp6;\nimport com.pulumi.fortios.firewall.Vipgrp6Args;\nimport com.pulumi.fortios.firewall.inputs.Vipgrp6MemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname1 = new Vip6(\"trname1\", Vip6Args.builder()\n            .arpReply(\"enable\")\n            .color(0)\n            .extip(\"2001:1:1:2::100\")\n            .extport(\"0-65535\")\n            .fosid(0)\n            .httpCookieAge(60)\n            .httpCookieDomainFromHost(\"disable\")\n            .httpCookieGeneration(0)\n            .httpCookieShare(\"same-ip\")\n            .httpIpHeader(\"disable\")\n            .httpMultiplex(\"disable\")\n            .httpsCookieSecure(\"disable\")\n            .ldbMethod(\"static\")\n            .mappedip(\"2001:1:1:2::200\")\n            .mappedport(\"0-65535\")\n            .maxEmbryonicConnections(1000)\n            .outlookWebAccess(\"disable\")\n            .persistence(\"none\")\n            .portforward(\"disable\")\n            .protocol(\"tcp\")\n            .sslAlgorithm(\"high\")\n            .sslClientFallback(\"enable\")\n            .sslClientRenegotiation(\"secure\")\n            .sslClientSessionStateMax(1000)\n            .sslClientSessionStateTimeout(30)\n            .sslClientSessionStateType(\"both\")\n            .sslDhBits(\"2048\")\n            .sslHpkp(\"disable\")\n            .sslHpkpAge(5184000)\n            .sslHpkpIncludeSubdomains(\"disable\")\n            .sslHsts(\"disable\")\n            .sslHstsAge(5184000)\n            .sslHstsIncludeSubdomains(\"disable\")\n            .sslHttpLocationConversion(\"disable\")\n            .sslHttpMatchHost(\"enable\")\n            .sslMaxVersion(\"tls-1.2\")\n            .sslMinVersion(\"tls-1.1\")\n            .sslMode(\"half\")\n            .sslPfs(\"require\")\n            .sslSendEmptyFrags(\"enable\")\n            .sslServerAlgorithm(\"client\")\n            .sslServerMaxVersion(\"client\")\n            .sslServerMinVersion(\"client\")\n            .sslServerSessionStateMax(100)\n            .sslServerSessionStateTimeout(60)\n            .sslServerSessionStateType(\"both\")\n            .type(\"static-nat\")\n            .weblogicServer(\"disable\")\n            .websphereServer(\"disable\")\n            .build());\n\n        var trname = new Vipgrp6(\"trname\", Vipgrp6Args.builder()\n            .color(0)\n            .members(Vipgrp6MemberArgs.builder()\n                .name(trname1.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:firewall:Vip6\n    properties:\n      arpReply: enable\n      color: 0\n      extip: 2001:1:1:2::100\n      extport: 0-65535\n      fosid: 0\n      httpCookieAge: 60\n      httpCookieDomainFromHost: disable\n      httpCookieGeneration: 0\n      httpCookieShare: same-ip\n      httpIpHeader: disable\n      httpMultiplex: disable\n      httpsCookieSecure: disable\n      ldbMethod: static\n      mappedip: 2001:1:1:2::200\n      mappedport: 0-65535\n      maxEmbryonicConnections: 1000\n      outlookWebAccess: disable\n      persistence: none\n      portforward: disable\n      protocol: tcp\n      sslAlgorithm: high\n      sslClientFallback: enable\n      sslClientRenegotiation: secure\n      sslClientSessionStateMax: 1000\n      sslClientSessionStateTimeout: 30\n      sslClientSessionStateType: both\n      sslDhBits: '2048'\n      sslHpkp: disable\n      sslHpkpAge: 5.184e+06\n      sslHpkpIncludeSubdomains: disable\n      sslHsts: disable\n      sslHstsAge: 5.184e+06\n      sslHstsIncludeSubdomains: disable\n      sslHttpLocationConversion: disable\n      sslHttpMatchHost: enable\n      sslMaxVersion: tls-1.2\n      sslMinVersion: tls-1.1\n      sslMode: half\n      sslPfs: require\n      sslSendEmptyFrags: enable\n      sslServerAlgorithm: client\n      sslServerMaxVersion: client\n      sslServerMinVersion: client\n      sslServerSessionStateMax: 100\n      sslServerSessionStateTimeout: 60\n      sslServerSessionStateType: both\n      type: static-nat\n      weblogicServer: disable\n      websphereServer: disable\n  trname:\n    type: fortios:firewall:Vipgrp6\n    properties:\n      color: 0\n      members:\n        - name: ${trname1.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Vipgrp6 can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/vipgrp6:Vipgrp6 labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/vipgrp6:Vipgrp6 labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipgrp6Member:Vipgrp6Member"
          },
          "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 VIP group name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "members",
        "name",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipgrp6Member:Vipgrp6Member"
          },
          "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "IPv6 VIP group name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vipgrp6 resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipgrp6Member:Vipgrp6Member"
            },
            "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "IPv6 VIP group name.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/vipgrp:Vipgrp": {
      "description": "Configure IPv4 virtual IP groups.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1 = new fortios.firewall.Vip(\"trname1\", {\n    extintf: \"any\",\n    extport: \"0-65535\",\n    extip: \"2.0.0.1-2.0.0.4\",\n    mappedips: [{\n        range: \"3.0.0.0-3.0.0.3\",\n    }],\n});\nconst trname = new fortios.firewall.Vipgrp(\"trname\", {\n    color: 0,\n    \"interface\": \"any\",\n    members: [{\n        name: trname1.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.firewall.Vip(\"trname1\",\n    extintf=\"any\",\n    extport=\"0-65535\",\n    extip=\"2.0.0.1-2.0.0.4\",\n    mappedips=[fortios.firewall.VipMappedipArgs(\n        range=\"3.0.0.0-3.0.0.3\",\n    )])\ntrname = fortios.firewall.Vipgrp(\"trname\",\n    color=0,\n    interface=\"any\",\n    members=[fortios.firewall.VipgrpMemberArgs(\n        name=trname1.name,\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname1 = new Fortios.Firewall.Vip(\"trname1\", new()\n    {\n        Extintf = \"any\",\n        Extport = \"0-65535\",\n        Extip = \"2.0.0.1-2.0.0.4\",\n        Mappedips = new[]\n        {\n            new Fortios.Firewall.Inputs.VipMappedipArgs\n            {\n                Range = \"3.0.0.0-3.0.0.3\",\n            },\n        },\n    });\n\n    var trname = new Fortios.Firewall.Vipgrp(\"trname\", new()\n    {\n        Color = 0,\n        Interface = \"any\",\n        Members = new[]\n        {\n            new Fortios.Firewall.Inputs.VipgrpMemberArgs\n            {\n                Name = trname1.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := firewall.NewVip(ctx, \"trname1\", &firewall.VipArgs{\n\t\t\tExtintf: pulumi.String(\"any\"),\n\t\t\tExtport: pulumi.String(\"0-65535\"),\n\t\t\tExtip:   pulumi.String(\"2.0.0.1-2.0.0.4\"),\n\t\t\tMappedips: firewall.VipMappedipArray{\n\t\t\t\t&firewall.VipMappedipArgs{\n\t\t\t\t\tRange: pulumi.String(\"3.0.0.0-3.0.0.3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewVipgrp(ctx, \"trname\", &firewall.VipgrpArgs{\n\t\t\tColor:     pulumi.Int(0),\n\t\t\tInterface: pulumi.String(\"any\"),\n\t\t\tMembers: firewall.VipgrpMemberArray{\n\t\t\t\t&firewall.VipgrpMemberArgs{\n\t\t\t\t\tName: trname1.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Vip;\nimport com.pulumi.fortios.firewall.VipArgs;\nimport com.pulumi.fortios.firewall.inputs.VipMappedipArgs;\nimport com.pulumi.fortios.firewall.Vipgrp;\nimport com.pulumi.fortios.firewall.VipgrpArgs;\nimport com.pulumi.fortios.firewall.inputs.VipgrpMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname1 = new Vip(\"trname1\", VipArgs.builder()\n            .extintf(\"any\")\n            .extport(\"0-65535\")\n            .extip(\"2.0.0.1-2.0.0.4\")\n            .mappedips(VipMappedipArgs.builder()\n                .range(\"3.0.0.0-3.0.0.3\")\n                .build())\n            .build());\n\n        var trname = new Vipgrp(\"trname\", VipgrpArgs.builder()\n            .color(0)\n            .interface_(\"any\")\n            .members(VipgrpMemberArgs.builder()\n                .name(trname1.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:firewall:Vip\n    properties:\n      extintf: any\n      extport: 0-65535\n      extip: 2.0.0.1-2.0.0.4\n      mappedips:\n        - range: 3.0.0.0-3.0.0.3\n  trname:\n    type: fortios:firewall:Vipgrp\n    properties:\n      color: 0\n      interface: any\n      members:\n        - name: ${trname1.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Vipgrp can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/vipgrp:Vipgrp labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/vipgrp:Vipgrp labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interface": {
          "type": "string",
          "description": "interface\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipgrpMember:VipgrpMember"
          },
          "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP group name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "interface",
        "members",
        "name",
        "uuid",
        "vdomparam"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
        },
        "comments": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "interface": {
          "type": "string",
          "description": "interface\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2FVipgrpMember:VipgrpMember"
          },
          "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "VIP group name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "interface",
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vipgrp resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "Integer value to determine the color of the icon in the GUI (range 1 to 32, default = 0, which sets the value to 1).\n"
          },
          "comments": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "interface": {
            "type": "string",
            "description": "interface\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2FVipgrpMember:VipgrpMember"
            },
            "description": "Member VIP objects of the group (Separate multiple objects with a space). The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "VIP group name.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/wildcardfqdn/custom:Custom": {
      "description": "Config global/VDOM Wildcard FQDN address.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.firewall.wildcardfqdn.Custom(\"trname\", {\n    color: 0,\n    visibility: \"enable\",\n    wildcardFqdn: \"*.go.google.com\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.firewall.wildcardfqdn.Custom(\"trname\",\n    color=0,\n    visibility=\"enable\",\n    wildcard_fqdn=\"*.go.google.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Firewall.Wildcardfqdn.Custom(\"trname\", new()\n    {\n        Color = 0,\n        Visibility = \"enable\",\n        WildcardFqdn = \"*.go.google.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := firewall.NewCustom(ctx, \"trname\", &firewall.CustomArgs{\n\t\t\tColor:        pulumi.Int(0),\n\t\t\tVisibility:   pulumi.String(\"enable\"),\n\t\t\tWildcardFqdn: pulumi.String(\"*.go.google.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Custom;\nimport com.pulumi.fortios.firewall.CustomArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Custom(\"trname\", CustomArgs.builder()\n            .color(0)\n            .visibility(\"enable\")\n            .wildcardFqdn(\"*.go.google.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:firewall/wildcardfqdn:Custom\n    properties:\n      color: 0\n      visibility: enable\n      wildcardFqdn: '*.go.google.com'\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallWildcardFqdn Custom can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/wildcardfqdn/custom:Custom labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/wildcardfqdn/custom:Custom labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "GUI icon color.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable address visibility. Valid values: `enable`, `disable`.\n"
        },
        "wildcardFqdn": {
          "type": "string",
          "description": "Wildcard FQDN.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "name",
        "uuid",
        "vdomparam",
        "visibility",
        "wildcardFqdn"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "GUI icon color.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable address visibility. Valid values: `enable`, `disable`.\n"
        },
        "wildcardFqdn": {
          "type": "string",
          "description": "Wildcard FQDN.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Custom resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "GUI icon color.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "name": {
            "type": "string",
            "description": "Address name.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable address visibility. Valid values: `enable`, `disable`.\n"
          },
          "wildcardFqdn": {
            "type": "string",
            "description": "Wildcard FQDN.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:firewall/wildcardfqdn/group:Group": {
      "description": "Config global Wildcard FQDN address groups.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname1 = new fortios.firewall.wildcardfqdn.Custom(\"trname1\", {\n    color: 0,\n    visibility: \"enable\",\n    wildcardFqdn: \"*.ms.com\",\n});\nconst trname = new fortios.firewall.wildcardfqdn.Group(\"trname\", {\n    color: 0,\n    visibility: \"enable\",\n    members: [{\n        name: trname1.name,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname1 = fortios.firewall.wildcardfqdn.Custom(\"trname1\",\n    color=0,\n    visibility=\"enable\",\n    wildcard_fqdn=\"*.ms.com\")\ntrname = fortios.firewall.wildcardfqdn.Group(\"trname\",\n    color=0,\n    visibility=\"enable\",\n    members=[fortios.firewall.wildcardfqdn.GroupMemberArgs(\n        name=trname1.name,\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname1 = new Fortios.Firewall.Wildcardfqdn.Custom(\"trname1\", new()\n    {\n        Color = 0,\n        Visibility = \"enable\",\n        WildcardFqdn = \"*.ms.com\",\n    });\n\n    var trname = new Fortios.Firewall.Wildcardfqdn.Group(\"trname\", new()\n    {\n        Color = 0,\n        Visibility = \"enable\",\n        Members = new[]\n        {\n            new Fortios.Firewall.Wildcardfqdn.Inputs.GroupMemberArgs\n            {\n                Name = trname1.Name,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/firewall\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttrname1, err := firewall.NewCustom(ctx, \"trname1\", &firewall.CustomArgs{\n\t\t\tColor:        pulumi.Int(0),\n\t\t\tVisibility:   pulumi.String(\"enable\"),\n\t\t\tWildcardFqdn: pulumi.String(\"*.ms.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = firewall.NewGroup(ctx, \"trname\", &firewall.GroupArgs{\n\t\t\tColor:      pulumi.Int(0),\n\t\t\tVisibility: pulumi.String(\"enable\"),\n\t\t\tMembers: wildcardfqdn.GroupMemberArray{\n\t\t\t\t&wildcardfqdn.GroupMemberArgs{\n\t\t\t\t\tName: trname1.Name,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.firewall.Custom;\nimport com.pulumi.fortios.firewall.CustomArgs;\nimport com.pulumi.fortios.firewall.Group;\nimport com.pulumi.fortios.firewall.GroupArgs;\nimport com.pulumi.fortios.firewall.inputs.GroupMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname1 = new Custom(\"trname1\", CustomArgs.builder()\n            .color(0)\n            .visibility(\"enable\")\n            .wildcardFqdn(\"*.ms.com\")\n            .build());\n\n        var trname = new Group(\"trname\", GroupArgs.builder()\n            .color(0)\n            .visibility(\"enable\")\n            .members(GroupMemberArgs.builder()\n                .name(trname1.name())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname1:\n    type: fortios:firewall/wildcardfqdn:Custom\n    properties:\n      color: 0\n      visibility: enable\n      wildcardFqdn: '*.ms.com'\n  trname:\n    type: fortios:firewall/wildcardfqdn:Group\n    properties:\n      color: 0\n      visibility: enable\n      members:\n        - name: ${trname1.name}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewallWildcardFqdn Group can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:firewall/wildcardfqdn/group:Group labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:firewall/wildcardfqdn/group:Group labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "color": {
          "type": "integer",
          "description": "GUI icon color.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fwildcardfqdn%2FGroupMember:GroupMember"
          },
          "description": "Address group members. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address group name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable address visibility. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "members",
        "name",
        "uuid",
        "vdomparam",
        "visibility"
      ],
      "inputProperties": {
        "color": {
          "type": "integer",
          "description": "GUI icon color.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:firewall%2Fwildcardfqdn%2FGroupMember:GroupMember"
          },
          "description": "Address group members. The structure of `member` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Address group name.\n"
        },
        "uuid": {
          "type": "string",
          "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "visibility": {
          "type": "string",
          "description": "Enable/disable address visibility. Valid values: `enable`, `disable`.\n"
        }
      },
      "requiredInputs": [
        "members"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Group resources.\n",
        "properties": {
          "color": {
            "type": "integer",
            "description": "GUI icon color.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:firewall%2Fwildcardfqdn%2FGroupMember:GroupMember"
            },
            "description": "Address group members. The structure of `member` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Address group name.\n"
          },
          "uuid": {
            "type": "string",
            "description": "Universally Unique Identifier (UUID; automatically assigned but can be manually reset).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "visibility": {
            "type": "string",
            "description": "Enable/disable address visibility. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/devicemanagerDevice:DevicemanagerDevice": {
      "description": "This resource supports adding/deleting online FortiGate to/from FortiManager\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.DevicemanagerDevice(\"test1\", {\n    deviceName: \"FGVM64-test\",\n    ipaddr: \"192.168.88.101\",\n    password: \"\",\n    userid: \"admin\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.DevicemanagerDevice(\"test1\",\n    device_name=\"FGVM64-test\",\n    ipaddr=\"192.168.88.101\",\n    password=\"\",\n    userid=\"admin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.DevicemanagerDevice(\"test1\", new()\n    {\n        DeviceName = \"FGVM64-test\",\n        Ipaddr = \"192.168.88.101\",\n        Password = \"\",\n        Userid = \"admin\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewDevicemanagerDevice(ctx, \"test1\", &fmg.DevicemanagerDeviceArgs{\n\t\t\tDeviceName: pulumi.String(\"FGVM64-test\"),\n\t\t\tIpaddr:     pulumi.String(\"192.168.88.101\"),\n\t\t\tPassword:   pulumi.String(\"\"),\n\t\t\tUserid:     pulumi.String(\"admin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.DevicemanagerDevice;\nimport com.pulumi.fortios.fmg.DevicemanagerDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new DevicemanagerDevice(\"test1\", DevicemanagerDeviceArgs.builder()\n            .deviceName(\"FGVM64-test\")\n            .ipaddr(\"192.168.88.101\")\n            .password(\"\")\n            .userid(\"admin\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:DevicemanagerDevice\n    properties:\n      deviceName: FGVM64-test\n      ipaddr: 192.168.88.101\n      password:\n      userid: admin\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "Name or ID of the ADOM where the command is to be executed on.\n"
        },
        "deviceName": {
          "type": "string",
          "description": "Fortigate's device name.\n"
        },
        "ipaddr": {
          "type": "string",
          "description": "Fortigate's ipaddress.\n"
        },
        "password": {
          "type": "string",
          "description": "Password.\n"
        },
        "userid": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "type": "object",
      "required": [
        "deviceName",
        "ipaddr",
        "userid"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "Name or ID of the ADOM where the command is to be executed on.\n"
        },
        "deviceName": {
          "type": "string",
          "description": "Fortigate's device name.\n"
        },
        "ipaddr": {
          "type": "string",
          "description": "Fortigate's ipaddress.\n"
        },
        "password": {
          "type": "string",
          "description": "Password.\n"
        },
        "userid": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "requiredInputs": [
        "deviceName",
        "ipaddr",
        "userid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DevicemanagerDevice resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "Name or ID of the ADOM where the command is to be executed on.\n"
          },
          "deviceName": {
            "type": "string",
            "description": "Fortigate's device name.\n"
          },
          "ipaddr": {
            "type": "string",
            "description": "Fortigate's ipaddress.\n"
          },
          "password": {
            "type": "string",
            "description": "Password.\n"
          },
          "userid": {
            "type": "string",
            "description": "User name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/devicemanagerInstallDevice:DevicemanagerInstallDevice": {
      "description": "This resource supports installing devicemanager script from FortiManager to the related device\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.DevicemanagerInstallDevice(\"test1\", {\n    targetDevname: \"FGVM64-test\",\n    timeout: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.DevicemanagerInstallDevice(\"test1\",\n    target_devname=\"FGVM64-test\",\n    timeout=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.DevicemanagerInstallDevice(\"test1\", new()\n    {\n        TargetDevname = \"FGVM64-test\",\n        Timeout = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewDevicemanagerInstallDevice(ctx, \"test1\", &fmg.DevicemanagerInstallDeviceArgs{\n\t\t\tTargetDevname: pulumi.String(\"FGVM64-test\"),\n\t\t\tTimeout:       pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.DevicemanagerInstallDevice;\nimport com.pulumi.fortios.fmg.DevicemanagerInstallDeviceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new DevicemanagerInstallDevice(\"test1\", DevicemanagerInstallDeviceArgs.builder()\n            .targetDevname(\"FGVM64-test\")\n            .timeout(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:DevicemanagerInstallDevice\n    properties:\n      targetDevname: FGVM64-test\n      timeout: 5\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "Source ADOM name. default is 'root'\n"
        },
        "targetDevname": {
          "type": "string",
          "description": "Target device name.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Timeout for installing the script to the target, default: 3 minutes.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Vdom of managed device. default is 'root'\n"
        }
      },
      "type": "object",
      "required": [
        "targetDevname"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "Source ADOM name. default is 'root'\n"
        },
        "targetDevname": {
          "type": "string",
          "description": "Target device name.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Timeout for installing the script to the target, default: 3 minutes.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Vdom of managed device. default is 'root'\n"
        }
      },
      "requiredInputs": [
        "targetDevname"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DevicemanagerInstallDevice resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "Source ADOM name. default is 'root'\n"
          },
          "targetDevname": {
            "type": "string",
            "description": "Target device name.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "Timeout for installing the script to the target, default: 3 minutes.\n"
          },
          "vdom": {
            "type": "string",
            "description": "Vdom of managed device. default is 'root'\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/devicemanagerInstallPolicypackage:DevicemanagerInstallPolicypackage": {
      "description": "This resource supports installing devicemanager policy package from FortiManager to the related FortiGate\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.DevicemanagerInstallPolicypackage(\"test1\", {\n    packageName: \"test-pkg1\",\n    timeout: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.DevicemanagerInstallPolicypackage(\"test1\",\n    package_name=\"test-pkg1\",\n    timeout=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.DevicemanagerInstallPolicypackage(\"test1\", new()\n    {\n        PackageName = \"test-pkg1\",\n        Timeout = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewDevicemanagerInstallPolicypackage(ctx, \"test1\", &fmg.DevicemanagerInstallPolicypackageArgs{\n\t\t\tPackageName: pulumi.String(\"test-pkg1\"),\n\t\t\tTimeout:     pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.DevicemanagerInstallPolicypackage;\nimport com.pulumi.fortios.fmg.DevicemanagerInstallPolicypackageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new DevicemanagerInstallPolicypackage(\"test1\", DevicemanagerInstallPolicypackageArgs.builder()\n            .packageName(\"test-pkg1\")\n            .timeout(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:DevicemanagerInstallPolicypackage\n    properties:\n      packageName: test-pkg1\n      timeout: 5\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "Source ADOM name. default is 'root'\n"
        },
        "packageName": {
          "type": "string",
          "description": "The installation package name.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Timeout for installing the package to the target, default: 3 minutes.\n"
        }
      },
      "type": "object",
      "required": [
        "packageName"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "Source ADOM name. default is 'root'\n"
        },
        "packageName": {
          "type": "string",
          "description": "The installation package name.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Timeout for installing the package to the target, default: 3 minutes.\n"
        }
      },
      "requiredInputs": [
        "packageName"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DevicemanagerInstallPolicypackage resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "Source ADOM name. default is 'root'\n"
          },
          "packageName": {
            "type": "string",
            "description": "The installation package name.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "Timeout for installing the package to the target, default: 3 minutes.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/devicemanagerScript:DevicemanagerScript": {
      "description": "This resource supports Create/Read/Update/Delete devicemanager script for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.DevicemanagerScript(\"test1\", {\n    content: `config system interface \n edit port3 \n\\x09 set vdom \"root\"\n\\x09 set ip 10.7.0.200 255.255.0.0 \n\\x09 set allowaccess ping http https\n\\x09 next \n end\n`,\n    description: \"description\",\n    target: \"remote_device\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.DevicemanagerScript(\"test1\",\n    content=\"\"\"config system interface \n edit port3 \n\\x09 set vdom \"root\"\n\\x09 set ip 10.7.0.200 255.255.0.0 \n\\x09 set allowaccess ping http https\n\\x09 next \n end\n\"\"\",\n    description=\"description\",\n    target=\"remote_device\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.DevicemanagerScript(\"test1\", new()\n    {\n        Content = @\"config system interface \n edit port3 \n\t set vdom \"\"root\"\"\n\t set ip 10.7.0.200 255.255.0.0 \n\t set allowaccess ping http https\n\t next \n end\n\",\n        Description = \"description\",\n        Target = \"remote_device\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewDevicemanagerScript(ctx, \"test1\", &fmg.DevicemanagerScriptArgs{\n\t\t\tContent: pulumi.String(`config system interface \n edit port3 \n\t set vdom \"root\"\n\t set ip 10.7.0.200 255.255.0.0 \n\t set allowaccess ping http https\n\t next \n end\n`),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTarget:      pulumi.String(\"remote_device\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.DevicemanagerScript;\nimport com.pulumi.fortios.fmg.DevicemanagerScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new DevicemanagerScript(\"test1\", DevicemanagerScriptArgs.builder()\n            .content(\"\"\"\nconfig system interface \n edit port3 \n\t set vdom \"root\"\n\t set ip 10.7.0.200 255.255.0.0 \n\t set allowaccess ping http https\n\t next \n end\n            \"\"\")\n            .description(\"description\")\n            .target(\"remote_device\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:DevicemanagerScript\n    properties:\n      content: \"config system interface \\n edit port3 \\n\\t set vdom \\\"root\\\"\\n\\t set ip 10.7.0.200 255.255.0.0 \\n\\t set allowaccess ping http https\\n\\t next \\n end\\n\"\n      description: description\n      target: remote_device\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "content": {
          "type": "string",
          "description": "Script content, only cli script is supported now\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "name": {
          "type": "string",
          "description": "Script name.\n"
        },
        "target": {
          "type": "string",
          "description": "Script target, Enum: [\"device_database\", \"remote_device\", \"adom_database\"]\n"
        }
      },
      "type": "object",
      "required": [
        "content",
        "name"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "content": {
          "type": "string",
          "description": "Script content, only cli script is supported now\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "name": {
          "type": "string",
          "description": "Script name.\n"
        },
        "target": {
          "type": "string",
          "description": "Script target, Enum: [\"device_database\", \"remote_device\", \"adom_database\"]\n"
        }
      },
      "requiredInputs": [
        "content"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DevicemanagerScript resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "ADOM name. default is 'root'.\n"
          },
          "content": {
            "type": "string",
            "description": "Script content, only cli script is supported now\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "name": {
            "type": "string",
            "description": "Script name.\n"
          },
          "target": {
            "type": "string",
            "description": "Script target, Enum: [\"device_database\", \"remote_device\", \"adom_database\"]\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/devicemanagerScriptExecute:DevicemanagerScriptExecute": {
      "description": "This resource supports executing devicemanager script on Fortimanager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test3 = new fortios.fmg.DevicemanagerScriptExecute(\"test3\", {\n    scriptName: \"config-intf3\",\n    targetDevname: \"devname\",\n    timeout: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest3 = fortios.fmg.DevicemanagerScriptExecute(\"test3\",\n    script_name=\"config-intf3\",\n    target_devname=\"devname\",\n    timeout=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test3 = new Fortios.Fmg.DevicemanagerScriptExecute(\"test3\", new()\n    {\n        ScriptName = \"config-intf3\",\n        TargetDevname = \"devname\",\n        Timeout = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewDevicemanagerScriptExecute(ctx, \"test3\", &fmg.DevicemanagerScriptExecuteArgs{\n\t\t\tScriptName:    pulumi.String(\"config-intf3\"),\n\t\t\tTargetDevname: pulumi.String(\"devname\"),\n\t\t\tTimeout:       pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.DevicemanagerScriptExecute;\nimport com.pulumi.fortios.fmg.DevicemanagerScriptExecuteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test3 = new DevicemanagerScriptExecute(\"test3\", DevicemanagerScriptExecuteArgs.builder()\n            .scriptName(\"config-intf3\")\n            .targetDevname(\"devname\")\n            .timeout(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test3:\n    type: fortios:fmg:DevicemanagerScriptExecute\n    properties:\n      scriptName: config-intf3\n      targetDevname: devname\n      timeout: 5\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "Source ADOM name. default is 'root'\n"
        },
        "package": {
          "type": "string",
          "description": "Policy package.\n"
        },
        "scriptName": {
          "type": "string",
          "description": "Script name.\n"
        },
        "targetDevname": {
          "type": "string",
          "description": "Target device name, which the script will be installed.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Timeout(minute) for executing the script, default is 3 minutes.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Vdom of managed device. default is 'root'\n"
        }
      },
      "type": "object",
      "required": [
        "scriptName"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "Source ADOM name. default is 'root'\n"
        },
        "package": {
          "type": "string",
          "description": "Policy package.\n"
        },
        "scriptName": {
          "type": "string",
          "description": "Script name.\n"
        },
        "targetDevname": {
          "type": "string",
          "description": "Target device name, which the script will be installed.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Timeout(minute) for executing the script, default is 3 minutes.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Vdom of managed device. default is 'root'\n"
        }
      },
      "requiredInputs": [
        "scriptName"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DevicemanagerScriptExecute resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "Source ADOM name. default is 'root'\n"
          },
          "package": {
            "type": "string",
            "description": "Policy package.\n"
          },
          "scriptName": {
            "type": "string",
            "description": "Script name.\n"
          },
          "targetDevname": {
            "type": "string",
            "description": "Target device name, which the script will be installed.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "Timeout(minute) for executing the script, default is 3 minutes.\n"
          },
          "vdom": {
            "type": "string",
            "description": "Vdom of managed device. default is 'root'\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/firewallObjectAddress:FirewallObjectAddress": {
      "description": "This resource supports Create/Read/Update/Delete firewall object address for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.FirewallObjectAddress(\"test1\", {\n    associatedIntf: \"any\",\n    comment: \"test obj address\",\n    fqdn: \"fqdn.google.com\",\n    type: \"fqdn\",\n});\nconst test2 = new fortios.fmg.FirewallObjectAddress(\"test2\", {\n    allowRouting: \"disable\",\n    associatedIntf: \"any\",\n    comment: \"test obj address\",\n    subnet: \"2.2.2.0 255.255.255.0\",\n    type: \"ipmask\",\n});\nconst test3 = new fortios.fmg.FirewallObjectAddress(\"test3\", {\n    associatedIntf: \"any\",\n    comment: \"test obj address\",\n    endIp: \"2.2.2.100\",\n    startIp: \"2.2.2.1\",\n    type: \"iprange\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.FirewallObjectAddress(\"test1\",\n    associated_intf=\"any\",\n    comment=\"test obj address\",\n    fqdn=\"fqdn.google.com\",\n    type=\"fqdn\")\ntest2 = fortios.fmg.FirewallObjectAddress(\"test2\",\n    allow_routing=\"disable\",\n    associated_intf=\"any\",\n    comment=\"test obj address\",\n    subnet=\"2.2.2.0 255.255.255.0\",\n    type=\"ipmask\")\ntest3 = fortios.fmg.FirewallObjectAddress(\"test3\",\n    associated_intf=\"any\",\n    comment=\"test obj address\",\n    end_ip=\"2.2.2.100\",\n    start_ip=\"2.2.2.1\",\n    type=\"iprange\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.FirewallObjectAddress(\"test1\", new()\n    {\n        AssociatedIntf = \"any\",\n        Comment = \"test obj address\",\n        Fqdn = \"fqdn.google.com\",\n        Type = \"fqdn\",\n    });\n\n    var test2 = new Fortios.Fmg.FirewallObjectAddress(\"test2\", new()\n    {\n        AllowRouting = \"disable\",\n        AssociatedIntf = \"any\",\n        Comment = \"test obj address\",\n        Subnet = \"2.2.2.0 255.255.255.0\",\n        Type = \"ipmask\",\n    });\n\n    var test3 = new Fortios.Fmg.FirewallObjectAddress(\"test3\", new()\n    {\n        AssociatedIntf = \"any\",\n        Comment = \"test obj address\",\n        EndIp = \"2.2.2.100\",\n        StartIp = \"2.2.2.1\",\n        Type = \"iprange\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewFirewallObjectAddress(ctx, \"test1\", &fmg.FirewallObjectAddressArgs{\n\t\t\tAssociatedIntf: pulumi.String(\"any\"),\n\t\t\tComment:        pulumi.String(\"test obj address\"),\n\t\t\tFqdn:           pulumi.String(\"fqdn.google.com\"),\n\t\t\tType:           pulumi.String(\"fqdn\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fmg.NewFirewallObjectAddress(ctx, \"test2\", &fmg.FirewallObjectAddressArgs{\n\t\t\tAllowRouting:   pulumi.String(\"disable\"),\n\t\t\tAssociatedIntf: pulumi.String(\"any\"),\n\t\t\tComment:        pulumi.String(\"test obj address\"),\n\t\t\tSubnet:         pulumi.String(\"2.2.2.0 255.255.255.0\"),\n\t\t\tType:           pulumi.String(\"ipmask\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fmg.NewFirewallObjectAddress(ctx, \"test3\", &fmg.FirewallObjectAddressArgs{\n\t\t\tAssociatedIntf: pulumi.String(\"any\"),\n\t\t\tComment:        pulumi.String(\"test obj address\"),\n\t\t\tEndIp:          pulumi.String(\"2.2.2.100\"),\n\t\t\tStartIp:        pulumi.String(\"2.2.2.1\"),\n\t\t\tType:           pulumi.String(\"iprange\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.FirewallObjectAddress;\nimport com.pulumi.fortios.fmg.FirewallObjectAddressArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new FirewallObjectAddress(\"test1\", FirewallObjectAddressArgs.builder()\n            .associatedIntf(\"any\")\n            .comment(\"test obj address\")\n            .fqdn(\"fqdn.google.com\")\n            .type(\"fqdn\")\n            .build());\n\n        var test2 = new FirewallObjectAddress(\"test2\", FirewallObjectAddressArgs.builder()\n            .allowRouting(\"disable\")\n            .associatedIntf(\"any\")\n            .comment(\"test obj address\")\n            .subnet(\"2.2.2.0 255.255.255.0\")\n            .type(\"ipmask\")\n            .build());\n\n        var test3 = new FirewallObjectAddress(\"test3\", FirewallObjectAddressArgs.builder()\n            .associatedIntf(\"any\")\n            .comment(\"test obj address\")\n            .endIp(\"2.2.2.100\")\n            .startIp(\"2.2.2.1\")\n            .type(\"iprange\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:FirewallObjectAddress\n    properties:\n      associatedIntf: any\n      comment: test obj address\n      fqdn: fqdn.google.com\n      type: fqdn\n  test2:\n    type: fortios:fmg:FirewallObjectAddress\n    properties:\n      allowRouting: disable\n      associatedIntf: any\n      comment: test obj address\n      subnet: 2.2.2.0 255.255.255.0\n      type: ipmask\n  test3:\n    type: fortios:fmg:FirewallObjectAddress\n    properties:\n      associatedIntf: any\n      comment: test obj address\n      endIp: 2.2.2.100\n      startIp: 2.2.2.1\n      type: iprange\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "allowRouting": {
          "type": "string",
          "description": "Enable/disable use of this address in the static route configuration. default is \"disable\".\n"
        },
        "associatedIntf": {
          "type": "string",
          "description": "Network interface associated with address.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "endIp": {
          "type": "string",
          "description": "Final IP address (inclusive) in the range for the address.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully Qualified Domain Name address.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "startIp": {
          "type": "string",
          "description": "First IP address (inclusive) in the range for the address.\n"
        },
        "subnet": {
          "type": "string",
          "description": "IPv4 address/mask\n"
        },
        "type": {
          "type": "string",
          "description": "Type of address, Enum: [\"ipmask\", \"iprange\", \"fqdn\"].\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "allowRouting": {
          "type": "string",
          "description": "Enable/disable use of this address in the static route configuration. default is \"disable\".\n"
        },
        "associatedIntf": {
          "type": "string",
          "description": "Network interface associated with address.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "endIp": {
          "type": "string",
          "description": "Final IP address (inclusive) in the range for the address.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully Qualified Domain Name address.\n"
        },
        "name": {
          "type": "string",
          "description": "Address name.\n"
        },
        "startIp": {
          "type": "string",
          "description": "First IP address (inclusive) in the range for the address.\n"
        },
        "subnet": {
          "type": "string",
          "description": "IPv4 address/mask\n"
        },
        "type": {
          "type": "string",
          "description": "Type of address, Enum: [\"ipmask\", \"iprange\", \"fqdn\"].\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FirewallObjectAddress resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "ADOM name. default is 'root'.\n"
          },
          "allowRouting": {
            "type": "string",
            "description": "Enable/disable use of this address in the static route configuration. default is \"disable\".\n"
          },
          "associatedIntf": {
            "type": "string",
            "description": "Network interface associated with address.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comments.\n"
          },
          "endIp": {
            "type": "string",
            "description": "Final IP address (inclusive) in the range for the address.\n"
          },
          "fqdn": {
            "type": "string",
            "description": "Fully Qualified Domain Name address.\n"
          },
          "name": {
            "type": "string",
            "description": "Address name.\n"
          },
          "startIp": {
            "type": "string",
            "description": "First IP address (inclusive) in the range for the address.\n"
          },
          "subnet": {
            "type": "string",
            "description": "IPv4 address/mask\n"
          },
          "type": {
            "type": "string",
            "description": "Type of address, Enum: [\"ipmask\", \"iprange\", \"fqdn\"].\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/firewallObjectIppool:FirewallObjectIppool": {
      "description": "This resource supports Create/Read/Update/Delete firewall object ippool for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.FirewallObjectIppool(\"test1\", {\n    arpIntf: \"any\",\n    arpReply: \"enable\",\n    associatedIntf: \"any\",\n    comment: \"test obj ippool\",\n    endip: \"1.1.10.100\",\n    startip: \"1.1.10.1\",\n    type: \"one-to-one\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.FirewallObjectIppool(\"test1\",\n    arp_intf=\"any\",\n    arp_reply=\"enable\",\n    associated_intf=\"any\",\n    comment=\"test obj ippool\",\n    endip=\"1.1.10.100\",\n    startip=\"1.1.10.1\",\n    type=\"one-to-one\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.FirewallObjectIppool(\"test1\", new()\n    {\n        ArpIntf = \"any\",\n        ArpReply = \"enable\",\n        AssociatedIntf = \"any\",\n        Comment = \"test obj ippool\",\n        Endip = \"1.1.10.100\",\n        Startip = \"1.1.10.1\",\n        Type = \"one-to-one\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewFirewallObjectIppool(ctx, \"test1\", &fmg.FirewallObjectIppoolArgs{\n\t\t\tArpIntf:        pulumi.String(\"any\"),\n\t\t\tArpReply:       pulumi.String(\"enable\"),\n\t\t\tAssociatedIntf: pulumi.String(\"any\"),\n\t\t\tComment:        pulumi.String(\"test obj ippool\"),\n\t\t\tEndip:          pulumi.String(\"1.1.10.100\"),\n\t\t\tStartip:        pulumi.String(\"1.1.10.1\"),\n\t\t\tType:           pulumi.String(\"one-to-one\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.FirewallObjectIppool;\nimport com.pulumi.fortios.fmg.FirewallObjectIppoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new FirewallObjectIppool(\"test1\", FirewallObjectIppoolArgs.builder()\n            .arpIntf(\"any\")\n            .arpReply(\"enable\")\n            .associatedIntf(\"any\")\n            .comment(\"test obj ippool\")\n            .endip(\"1.1.10.100\")\n            .startip(\"1.1.10.1\")\n            .type(\"one-to-one\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:FirewallObjectIppool\n    properties:\n      arpIntf: any\n      arpReply: enable\n      associatedIntf: any\n      comment: test obj ippool\n      endip: 1.1.10.100\n      startip: 1.1.10.1\n      type: one-to-one\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "arpIntf": {
          "type": "string",
          "description": "Select an interface that will reply to ARP requests.\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable/disable replying to ARP request, default is \"enable\".\n"
        },
        "associatedIntf": {
          "type": "string",
          "description": "Associated interface name.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "endip": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range for the address pool.\n"
        },
        "name": {
          "type": "string",
          "description": "Ippool name.\n"
        },
        "startip": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range for the address pool.\n"
        },
        "type": {
          "type": "string",
          "description": "Ip pool type, Enum: [\"overload\", \"one-to-one\"].\n"
        }
      },
      "type": "object",
      "required": [
        "endip",
        "name",
        "startip"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "arpIntf": {
          "type": "string",
          "description": "Select an interface that will reply to ARP requests.\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable/disable replying to ARP request, default is \"enable\".\n"
        },
        "associatedIntf": {
          "type": "string",
          "description": "Associated interface name.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "endip": {
          "type": "string",
          "description": "Final IPv4 address (inclusive) in the range for the address pool.\n"
        },
        "name": {
          "type": "string",
          "description": "Ippool name.\n"
        },
        "startip": {
          "type": "string",
          "description": "First IPv4 address (inclusive) in the range for the address pool.\n"
        },
        "type": {
          "type": "string",
          "description": "Ip pool type, Enum: [\"overload\", \"one-to-one\"].\n"
        }
      },
      "requiredInputs": [
        "endip",
        "startip"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FirewallObjectIppool resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "ADOM name. default is 'root'.\n"
          },
          "arpIntf": {
            "type": "string",
            "description": "Select an interface that will reply to ARP requests.\n"
          },
          "arpReply": {
            "type": "string",
            "description": "Enable/disable replying to ARP request, default is \"enable\".\n"
          },
          "associatedIntf": {
            "type": "string",
            "description": "Associated interface name.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comments.\n"
          },
          "endip": {
            "type": "string",
            "description": "Final IPv4 address (inclusive) in the range for the address pool.\n"
          },
          "name": {
            "type": "string",
            "description": "Ippool name.\n"
          },
          "startip": {
            "type": "string",
            "description": "First IPv4 address (inclusive) in the range for the address pool.\n"
          },
          "type": {
            "type": "string",
            "description": "Ip pool type, Enum: [\"overload\", \"one-to-one\"].\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/firewallObjectService:FirewallObjectService": {
      "description": "This resource supports Create/Read/Update/Delete firewall object service for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.FirewallObjectService(\"test1\", {\n    category: \"Email\",\n    comment: \"test obj service\",\n    iprange: \"1.1.1.1\",\n    protocol: \"TCP/UDP/SCTP\",\n    sctpPortranges: [\"100-200:150-250\"],\n    tcpPortranges: [\"100-200:150-250\"],\n    udpPortranges: [\"100-200:150-250\"],\n});\nconst test2 = new fortios.fmg.FirewallObjectService(\"test2\", {\n    category: \"Web Access\",\n    comment: \"test obj service\",\n    icmpCode: 3,\n    icmpType: 2,\n    protocol: \"ICMP\",\n});\nconst test3 = new fortios.fmg.FirewallObjectService(\"test3\", {\n    category: \"File Access\",\n    comment: \"test obj service\",\n    protocol: \"IP\",\n    protocolNumber: 4,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.FirewallObjectService(\"test1\",\n    category=\"Email\",\n    comment=\"test obj service\",\n    iprange=\"1.1.1.1\",\n    protocol=\"TCP/UDP/SCTP\",\n    sctp_portranges=[\"100-200:150-250\"],\n    tcp_portranges=[\"100-200:150-250\"],\n    udp_portranges=[\"100-200:150-250\"])\ntest2 = fortios.fmg.FirewallObjectService(\"test2\",\n    category=\"Web Access\",\n    comment=\"test obj service\",\n    icmp_code=3,\n    icmp_type=2,\n    protocol=\"ICMP\")\ntest3 = fortios.fmg.FirewallObjectService(\"test3\",\n    category=\"File Access\",\n    comment=\"test obj service\",\n    protocol=\"IP\",\n    protocol_number=4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.FirewallObjectService(\"test1\", new()\n    {\n        Category = \"Email\",\n        Comment = \"test obj service\",\n        Iprange = \"1.1.1.1\",\n        Protocol = \"TCP/UDP/SCTP\",\n        SctpPortranges = new[]\n        {\n            \"100-200:150-250\",\n        },\n        TcpPortranges = new[]\n        {\n            \"100-200:150-250\",\n        },\n        UdpPortranges = new[]\n        {\n            \"100-200:150-250\",\n        },\n    });\n\n    var test2 = new Fortios.Fmg.FirewallObjectService(\"test2\", new()\n    {\n        Category = \"Web Access\",\n        Comment = \"test obj service\",\n        IcmpCode = 3,\n        IcmpType = 2,\n        Protocol = \"ICMP\",\n    });\n\n    var test3 = new Fortios.Fmg.FirewallObjectService(\"test3\", new()\n    {\n        Category = \"File Access\",\n        Comment = \"test obj service\",\n        Protocol = \"IP\",\n        ProtocolNumber = 4,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewFirewallObjectService(ctx, \"test1\", &fmg.FirewallObjectServiceArgs{\n\t\t\tCategory: pulumi.String(\"Email\"),\n\t\t\tComment:  pulumi.String(\"test obj service\"),\n\t\t\tIprange:  pulumi.String(\"1.1.1.1\"),\n\t\t\tProtocol: pulumi.String(\"TCP/UDP/SCTP\"),\n\t\t\tSctpPortranges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"100-200:150-250\"),\n\t\t\t},\n\t\t\tTcpPortranges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"100-200:150-250\"),\n\t\t\t},\n\t\t\tUdpPortranges: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"100-200:150-250\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fmg.NewFirewallObjectService(ctx, \"test2\", &fmg.FirewallObjectServiceArgs{\n\t\t\tCategory: pulumi.String(\"Web Access\"),\n\t\t\tComment:  pulumi.String(\"test obj service\"),\n\t\t\tIcmpCode: pulumi.Int(3),\n\t\t\tIcmpType: pulumi.Int(2),\n\t\t\tProtocol: pulumi.String(\"ICMP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fmg.NewFirewallObjectService(ctx, \"test3\", &fmg.FirewallObjectServiceArgs{\n\t\t\tCategory:       pulumi.String(\"File Access\"),\n\t\t\tComment:        pulumi.String(\"test obj service\"),\n\t\t\tProtocol:       pulumi.String(\"IP\"),\n\t\t\tProtocolNumber: pulumi.Int(4),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.FirewallObjectService;\nimport com.pulumi.fortios.fmg.FirewallObjectServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new FirewallObjectService(\"test1\", FirewallObjectServiceArgs.builder()\n            .category(\"Email\")\n            .comment(\"test obj service\")\n            .iprange(\"1.1.1.1\")\n            .protocol(\"TCP/UDP/SCTP\")\n            .sctpPortranges(\"100-200:150-250\")\n            .tcpPortranges(\"100-200:150-250\")\n            .udpPortranges(\"100-200:150-250\")\n            .build());\n\n        var test2 = new FirewallObjectService(\"test2\", FirewallObjectServiceArgs.builder()\n            .category(\"Web Access\")\n            .comment(\"test obj service\")\n            .icmpCode(3)\n            .icmpType(2)\n            .protocol(\"ICMP\")\n            .build());\n\n        var test3 = new FirewallObjectService(\"test3\", FirewallObjectServiceArgs.builder()\n            .category(\"File Access\")\n            .comment(\"test obj service\")\n            .protocol(\"IP\")\n            .protocolNumber(4)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:FirewallObjectService\n    properties:\n      category: Email\n      comment: test obj service\n      iprange: 1.1.1.1\n      protocol: TCP/UDP/SCTP\n      sctpPortranges:\n        - 100-200:150-250\n      tcpPortranges:\n        - 100-200:150-250\n      udpPortranges:\n        - 100-200:150-250\n  test2:\n    type: fortios:fmg:FirewallObjectService\n    properties:\n      category: Web Access\n      comment: test obj service\n      icmpCode: 3\n      icmpType: 2\n      protocol: ICMP\n  test3:\n    type: fortios:fmg:FirewallObjectService\n    properties:\n      category: File Access\n      comment: test obj service\n      protocol: IP\n      protocolNumber: 4\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "category": {
          "type": "string",
          "description": "Service category. Enum: [\"\", \"File Access\", \"Authentication\", \"Email\", \"General\", \"Network Services\", \"Remote Access\", \"Tunneling\", \"VoIP, Messaging & Other Applications\", \"Web Access\", \"Web Proxy\"]\n"
        },
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully qualified domain name.\n"
        },
        "icmpCode": {
          "type": "integer",
          "description": "ICMP Code.\n"
        },
        "icmpType": {
          "type": "integer",
          "description": "ICMP Type.\n"
        },
        "iprange": {
          "type": "string",
          "description": "Start and end of the IP range associated with service. Ip or Ip range(eg: 1.1.1.1-1.1.1.100).\n"
        },
        "name": {
          "type": "string",
          "description": "Custom service name.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol type. Enum: [\"TCP/UDP/SCTP\", \"ICMP\", \"ICMP6\", \"IP\"]\n"
        },
        "protocolNumber": {
          "type": "integer",
          "description": "IP protocol number.\n"
        },
        "proxy": {
          "type": "string"
        },
        "sctpPortranges": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "SCTP port ranges. e.g: [\"dst-port-range:src-port-range\"]\n"
        },
        "tcpPortranges": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "TCP port ranges. e.g: [\"dst-port-range:src-port-range\"]\n"
        },
        "udpPortranges": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "UDP port ranges. e.g: [\"dst-port-range:src-port-range\"]\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "category": {
          "type": "string",
          "description": "Service category. Enum: [\"\", \"File Access\", \"Authentication\", \"Email\", \"General\", \"Network Services\", \"Remote Access\", \"Tunneling\", \"VoIP, Messaging & Other Applications\", \"Web Access\", \"Web Proxy\"]\n"
        },
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "Fully qualified domain name.\n"
        },
        "icmpCode": {
          "type": "integer",
          "description": "ICMP Code.\n"
        },
        "icmpType": {
          "type": "integer",
          "description": "ICMP Type.\n"
        },
        "iprange": {
          "type": "string",
          "description": "Start and end of the IP range associated with service. Ip or Ip range(eg: 1.1.1.1-1.1.1.100).\n"
        },
        "name": {
          "type": "string",
          "description": "Custom service name.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol type. Enum: [\"TCP/UDP/SCTP\", \"ICMP\", \"ICMP6\", \"IP\"]\n"
        },
        "protocolNumber": {
          "type": "integer",
          "description": "IP protocol number.\n"
        },
        "proxy": {
          "type": "string"
        },
        "sctpPortranges": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "SCTP port ranges. e.g: [\"dst-port-range:src-port-range\"]\n"
        },
        "tcpPortranges": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "TCP port ranges. e.g: [\"dst-port-range:src-port-range\"]\n"
        },
        "udpPortranges": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "UDP port ranges. e.g: [\"dst-port-range:src-port-range\"]\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FirewallObjectService resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "ADOM name. default is 'root'.\n"
          },
          "category": {
            "type": "string",
            "description": "Service category. Enum: [\"\", \"File Access\", \"Authentication\", \"Email\", \"General\", \"Network Services\", \"Remote Access\", \"Tunneling\", \"VoIP, Messaging & Other Applications\", \"Web Access\", \"Web Proxy\"]\n"
          },
          "comment": {
            "type": "string",
            "description": "Comments.\n"
          },
          "fqdn": {
            "type": "string",
            "description": "Fully qualified domain name.\n"
          },
          "icmpCode": {
            "type": "integer",
            "description": "ICMP Code.\n"
          },
          "icmpType": {
            "type": "integer",
            "description": "ICMP Type.\n"
          },
          "iprange": {
            "type": "string",
            "description": "Start and end of the IP range associated with service. Ip or Ip range(eg: 1.1.1.1-1.1.1.100).\n"
          },
          "name": {
            "type": "string",
            "description": "Custom service name.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol type. Enum: [\"TCP/UDP/SCTP\", \"ICMP\", \"ICMP6\", \"IP\"]\n"
          },
          "protocolNumber": {
            "type": "integer",
            "description": "IP protocol number.\n"
          },
          "proxy": {
            "type": "string"
          },
          "sctpPortranges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "SCTP port ranges. e.g: [\"dst-port-range:src-port-range\"]\n"
          },
          "tcpPortranges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "TCP port ranges. e.g: [\"dst-port-range:src-port-range\"]\n"
          },
          "udpPortranges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "UDP port ranges. e.g: [\"dst-port-range:src-port-range\"]\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/firewallObjectVip:FirewallObjectVip": {
      "description": "This resource supports Create/Read/Update/Delete firewall object virtual ip for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.FirewallObjectVip(\"test1\", {\n    arpReply: \"enable\",\n    comment: \"test obj vip\",\n    configDefault: \"enable\",\n    extIntf: \"any\",\n    extIp: \"2.2.2.2\",\n    mappedIp: \"1.1.1.1\",\n    type: \"static-nat\",\n});\nconst test2 = new fortios.fmg.FirewallObjectVip(\"test2\", {\n    arpReply: \"disable\",\n    comment: \"test obj vip\",\n    configDefault: \"enable\",\n    extIp: \"2.2.2.2-2.2.2.100\",\n    mappedAddr: \"update.microsoft.com\",\n    type: \"fqdn\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.FirewallObjectVip(\"test1\",\n    arp_reply=\"enable\",\n    comment=\"test obj vip\",\n    config_default=\"enable\",\n    ext_intf=\"any\",\n    ext_ip=\"2.2.2.2\",\n    mapped_ip=\"1.1.1.1\",\n    type=\"static-nat\")\ntest2 = fortios.fmg.FirewallObjectVip(\"test2\",\n    arp_reply=\"disable\",\n    comment=\"test obj vip\",\n    config_default=\"enable\",\n    ext_ip=\"2.2.2.2-2.2.2.100\",\n    mapped_addr=\"update.microsoft.com\",\n    type=\"fqdn\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.FirewallObjectVip(\"test1\", new()\n    {\n        ArpReply = \"enable\",\n        Comment = \"test obj vip\",\n        ConfigDefault = \"enable\",\n        ExtIntf = \"any\",\n        ExtIp = \"2.2.2.2\",\n        MappedIp = \"1.1.1.1\",\n        Type = \"static-nat\",\n    });\n\n    var test2 = new Fortios.Fmg.FirewallObjectVip(\"test2\", new()\n    {\n        ArpReply = \"disable\",\n        Comment = \"test obj vip\",\n        ConfigDefault = \"enable\",\n        ExtIp = \"2.2.2.2-2.2.2.100\",\n        MappedAddr = \"update.microsoft.com\",\n        Type = \"fqdn\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewFirewallObjectVip(ctx, \"test1\", &fmg.FirewallObjectVipArgs{\n\t\t\tArpReply:      pulumi.String(\"enable\"),\n\t\t\tComment:       pulumi.String(\"test obj vip\"),\n\t\t\tConfigDefault: pulumi.String(\"enable\"),\n\t\t\tExtIntf:       pulumi.String(\"any\"),\n\t\t\tExtIp:         pulumi.String(\"2.2.2.2\"),\n\t\t\tMappedIp:      pulumi.String(\"1.1.1.1\"),\n\t\t\tType:          pulumi.String(\"static-nat\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fmg.NewFirewallObjectVip(ctx, \"test2\", &fmg.FirewallObjectVipArgs{\n\t\t\tArpReply:      pulumi.String(\"disable\"),\n\t\t\tComment:       pulumi.String(\"test obj vip\"),\n\t\t\tConfigDefault: pulumi.String(\"enable\"),\n\t\t\tExtIp:         pulumi.String(\"2.2.2.2-2.2.2.100\"),\n\t\t\tMappedAddr:    pulumi.String(\"update.microsoft.com\"),\n\t\t\tType:          pulumi.String(\"fqdn\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.FirewallObjectVip;\nimport com.pulumi.fortios.fmg.FirewallObjectVipArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new FirewallObjectVip(\"test1\", FirewallObjectVipArgs.builder()\n            .arpReply(\"enable\")\n            .comment(\"test obj vip\")\n            .configDefault(\"enable\")\n            .extIntf(\"any\")\n            .extIp(\"2.2.2.2\")\n            .mappedIp(\"1.1.1.1\")\n            .type(\"static-nat\")\n            .build());\n\n        var test2 = new FirewallObjectVip(\"test2\", FirewallObjectVipArgs.builder()\n            .arpReply(\"disable\")\n            .comment(\"test obj vip\")\n            .configDefault(\"enable\")\n            .extIp(\"2.2.2.2-2.2.2.100\")\n            .mappedAddr(\"update.microsoft.com\")\n            .type(\"fqdn\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:FirewallObjectVip\n    properties:\n      arpReply: enable\n      comment: test obj vip\n      configDefault: enable\n      extIntf: any\n      extIp: 2.2.2.2\n      mappedIp: 1.1.1.1\n      type: static-nat\n  test2:\n    type: fortios:fmg:FirewallObjectVip\n    properties:\n      arpReply: disable\n      comment: test obj vip\n      configDefault: enable\n      extIp: 2.2.2.2-2.2.2.100\n      mappedAddr: update.microsoft.com\n      type: fqdn\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable to respond to ARP requests for this virtual IP address. Enabled by default.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "configDefault": {
          "type": "string",
          "description": "Enable/Disable config default value. enabled by default.\n"
        },
        "extIntf": {
          "type": "string",
          "description": "Interface connected to the source network that receives the packets that will be forwarded to the destination network.\n"
        },
        "extIp": {
          "type": "string",
          "description": "IP address or address range on the external interface that you want to map to an address or address range on the destination network.\n"
        },
        "mappedAddr": {
          "type": "string",
          "description": "Mapped FQDN address name.\n"
        },
        "mappedIp": {
          "type": "string",
          "description": "Mapped Ip address.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual IP name.\n"
        },
        "type": {
          "type": "string",
          "description": "Virtual IP type, Enum: [\"static-nat\", \"dns-translation\", \"fqdn\"]\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "arpReply": {
          "type": "string",
          "description": "Enable to respond to ARP requests for this virtual IP address. Enabled by default.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comments.\n"
        },
        "configDefault": {
          "type": "string",
          "description": "Enable/Disable config default value. enabled by default.\n"
        },
        "extIntf": {
          "type": "string",
          "description": "Interface connected to the source network that receives the packets that will be forwarded to the destination network.\n"
        },
        "extIp": {
          "type": "string",
          "description": "IP address or address range on the external interface that you want to map to an address or address range on the destination network.\n"
        },
        "mappedAddr": {
          "type": "string",
          "description": "Mapped FQDN address name.\n"
        },
        "mappedIp": {
          "type": "string",
          "description": "Mapped Ip address.\n"
        },
        "name": {
          "type": "string",
          "description": "Virtual IP name.\n"
        },
        "type": {
          "type": "string",
          "description": "Virtual IP type, Enum: [\"static-nat\", \"dns-translation\", \"fqdn\"]\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FirewallObjectVip resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "ADOM name. default is 'root'.\n"
          },
          "arpReply": {
            "type": "string",
            "description": "Enable to respond to ARP requests for this virtual IP address. Enabled by default.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comments.\n"
          },
          "configDefault": {
            "type": "string",
            "description": "Enable/Disable config default value. enabled by default.\n"
          },
          "extIntf": {
            "type": "string",
            "description": "Interface connected to the source network that receives the packets that will be forwarded to the destination network.\n"
          },
          "extIp": {
            "type": "string",
            "description": "IP address or address range on the external interface that you want to map to an address or address range on the destination network.\n"
          },
          "mappedAddr": {
            "type": "string",
            "description": "Mapped FQDN address name.\n"
          },
          "mappedIp": {
            "type": "string",
            "description": "Mapped Ip address.\n"
          },
          "name": {
            "type": "string",
            "description": "Virtual IP name.\n"
          },
          "type": {
            "type": "string",
            "description": "Virtual IP type, Enum: [\"static-nat\", \"dns-translation\", \"fqdn\"]\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/firewallSecurityPolicy:FirewallSecurityPolicy": {
      "description": "This resource supports Create/Read/Update/Delete firewall security policy on FortiManager which could be installed to the FortiGate later\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.FirewallSecurityPolicy(\"test1\", {\n    action: \"accept\",\n    avProfiles: [\"g-default\"],\n    capturePacket: \"enable\",\n    comments: \"policy test\",\n    dnsfilterProfiles: [\"default\"],\n    dstaddrs: [\"all\"],\n    dstintfs: [\"any\"],\n    fixedport: \"enable\",\n    groups: [\"Guest-group\"],\n    ippool: \"disable\",\n    logtraffic: \"all\",\n    logtrafficStart: \"enable\",\n    nat: \"enable\",\n    packageName: \"dvm-test\",\n    profileType: \"single\",\n    schedules: [\"always\"],\n    services: [\"ALL\"],\n    srcaddrs: [\"all\"],\n    srcintfs: [\"any\"],\n    trafficShapers: [\"high-priority\"],\n    users: [\"guest\"],\n    utmStatus: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.FirewallSecurityPolicy(\"test1\",\n    action=\"accept\",\n    av_profiles=[\"g-default\"],\n    capture_packet=\"enable\",\n    comments=\"policy test\",\n    dnsfilter_profiles=[\"default\"],\n    dstaddrs=[\"all\"],\n    dstintfs=[\"any\"],\n    fixedport=\"enable\",\n    groups=[\"Guest-group\"],\n    ippool=\"disable\",\n    logtraffic=\"all\",\n    logtraffic_start=\"enable\",\n    nat=\"enable\",\n    package_name=\"dvm-test\",\n    profile_type=\"single\",\n    schedules=[\"always\"],\n    services=[\"ALL\"],\n    srcaddrs=[\"all\"],\n    srcintfs=[\"any\"],\n    traffic_shapers=[\"high-priority\"],\n    users=[\"guest\"],\n    utm_status=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.FirewallSecurityPolicy(\"test1\", new()\n    {\n        Action = \"accept\",\n        AvProfiles = new[]\n        {\n            \"g-default\",\n        },\n        CapturePacket = \"enable\",\n        Comments = \"policy test\",\n        DnsfilterProfiles = new[]\n        {\n            \"default\",\n        },\n        Dstaddrs = new[]\n        {\n            \"all\",\n        },\n        Dstintfs = new[]\n        {\n            \"any\",\n        },\n        Fixedport = \"enable\",\n        Groups = new[]\n        {\n            \"Guest-group\",\n        },\n        Ippool = \"disable\",\n        Logtraffic = \"all\",\n        LogtrafficStart = \"enable\",\n        Nat = \"enable\",\n        PackageName = \"dvm-test\",\n        ProfileType = \"single\",\n        Schedules = new[]\n        {\n            \"always\",\n        },\n        Services = new[]\n        {\n            \"ALL\",\n        },\n        Srcaddrs = new[]\n        {\n            \"all\",\n        },\n        Srcintfs = new[]\n        {\n            \"any\",\n        },\n        TrafficShapers = new[]\n        {\n            \"high-priority\",\n        },\n        Users = new[]\n        {\n            \"guest\",\n        },\n        UtmStatus = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewFirewallSecurityPolicy(ctx, \"test1\", &fmg.FirewallSecurityPolicyArgs{\n\t\t\tAction: pulumi.String(\"accept\"),\n\t\t\tAvProfiles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"g-default\"),\n\t\t\t},\n\t\t\tCapturePacket: pulumi.String(\"enable\"),\n\t\t\tComments:      pulumi.String(\"policy test\"),\n\t\t\tDnsfilterProfiles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"default\"),\n\t\t\t},\n\t\t\tDstaddrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"all\"),\n\t\t\t},\n\t\t\tDstintfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"any\"),\n\t\t\t},\n\t\t\tFixedport: pulumi.String(\"enable\"),\n\t\t\tGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Guest-group\"),\n\t\t\t},\n\t\t\tIppool:          pulumi.String(\"disable\"),\n\t\t\tLogtraffic:      pulumi.String(\"all\"),\n\t\t\tLogtrafficStart: pulumi.String(\"enable\"),\n\t\t\tNat:             pulumi.String(\"enable\"),\n\t\t\tPackageName:     pulumi.String(\"dvm-test\"),\n\t\t\tProfileType:     pulumi.String(\"single\"),\n\t\t\tSchedules: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"always\"),\n\t\t\t},\n\t\t\tServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ALL\"),\n\t\t\t},\n\t\t\tSrcaddrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"all\"),\n\t\t\t},\n\t\t\tSrcintfs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"any\"),\n\t\t\t},\n\t\t\tTrafficShapers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"high-priority\"),\n\t\t\t},\n\t\t\tUsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"guest\"),\n\t\t\t},\n\t\t\tUtmStatus: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.FirewallSecurityPolicy;\nimport com.pulumi.fortios.fmg.FirewallSecurityPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new FirewallSecurityPolicy(\"test1\", FirewallSecurityPolicyArgs.builder()\n            .action(\"accept\")\n            .avProfiles(\"g-default\")\n            .capturePacket(\"enable\")\n            .comments(\"policy test\")\n            .dnsfilterProfiles(\"default\")\n            .dstaddrs(\"all\")\n            .dstintfs(\"any\")\n            .fixedport(\"enable\")\n            .groups(\"Guest-group\")\n            .ippool(\"disable\")\n            .logtraffic(\"all\")\n            .logtrafficStart(\"enable\")\n            .nat(\"enable\")\n            .packageName(\"dvm-test\")\n            .profileType(\"single\")\n            .schedules(\"always\")\n            .services(\"ALL\")\n            .srcaddrs(\"all\")\n            .srcintfs(\"any\")\n            .trafficShapers(\"high-priority\")\n            .users(\"guest\")\n            .utmStatus(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:FirewallSecurityPolicy\n    properties:\n      action: accept\n      avProfiles:\n        - g-default\n      capturePacket: enable\n      comments: policy test\n      dnsfilterProfiles:\n        - default\n      dstaddrs:\n        - all\n      dstintfs:\n        - any\n      fixedport: enable\n      groups:\n        - Guest-group\n      ippool: disable\n      logtraffic: all\n      logtrafficStart: enable\n      nat: enable\n      packageName: dvm-test\n      profileType: single\n      schedules:\n        - always\n      services:\n        - ALL\n      srcaddrs:\n        - all\n      srcintfs:\n        - any\n      trafficShapers:\n        - high-priority\n      users:\n        - guest\n      utmStatus: enable\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Policy action, default is deny. Enum: [allow, deny, ipsec].\n"
        },
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "applicationLists": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing Application list.\n"
        },
        "avProfiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing Antivirus profile.\n"
        },
        "capturePacket": {
          "type": "string",
          "description": "Enable/disable capture packets.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comments.\n"
        },
        "dnsfilterProfiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing DNS filter profile.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Destination address and adress group names.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Outgoing interface.\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable/disable to prevent source NAT from changing a session's source port.\n"
        },
        "fsso": {
          "type": "string",
          "description": "Enable/disable Fortinet Single Sign-On.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Names of user groups that can authenticate with this policy.\n"
        },
        "inbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Enum: [disable, enable]\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Destination Internet Services for this policy.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Destination Internet Service ID.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Destination Internet Service Name.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Source Internet Services for this policy.\n"
        },
        "internetServiceSrcIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Source Internet Service ID.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Source Internet Service Name.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable/disable to use IP Pools for source NAT.\n"
        },
        "ipsSensors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing IPS sensor.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable or disable logging. Enum: [disable, all, utm]\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts and ends. Enum: [disable, enable]\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable source NAT.\n"
        },
        "packageName": {
          "type": "string",
          "description": "The package name which the policy will be added to.\n"
        },
        "perIpShapers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Per-IP traffic shaper.\n"
        },
        "poolnames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "IP Pool names.\n"
        },
        "profileGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Enum: [single, group]\n"
        },
        "rsso": {
          "type": "string",
          "description": "Enable/disable RADIUS Single Sign-On.\n"
        },
        "schedules": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Schedule name.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Service and service group names.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Source address and adress group names.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Incoming interface.\n"
        },
        "trafficShaperReverses": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Reverse traffic shaper.\n"
        },
        "trafficShapers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Traffic shaper.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Names of individual users that can authenticate with this policy.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable/disable to add one or more security profiles (AV, IPS, etc.) to the firewall policy.\n"
        },
        "vpnTunnels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "wafProfiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "webfilterProfiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing Web filter profile.\n"
        }
      },
      "type": "object",
      "required": [
        "dstaddrs",
        "dstintfs",
        "internetService",
        "internetServiceSrc",
        "name",
        "schedules",
        "services",
        "srcaddrs",
        "srcintfs"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Policy action, default is deny. Enum: [allow, deny, ipsec].\n"
        },
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "applicationLists": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing Application list.\n"
        },
        "avProfiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing Antivirus profile.\n"
        },
        "capturePacket": {
          "type": "string",
          "description": "Enable/disable capture packets.\n"
        },
        "comments": {
          "type": "string",
          "description": "Comments.\n"
        },
        "dnsfilterProfiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing DNS filter profile.\n"
        },
        "dstaddrs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Destination address and adress group names.\n"
        },
        "dstintfs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Outgoing interface.\n"
        },
        "fixedport": {
          "type": "string",
          "description": "Enable/disable to prevent source NAT from changing a session's source port.\n"
        },
        "fsso": {
          "type": "string",
          "description": "Enable/disable Fortinet Single Sign-On.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Names of user groups that can authenticate with this policy.\n"
        },
        "inbound": {
          "type": "string",
          "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Enum: [disable, enable]\n"
        },
        "internetService": {
          "type": "string",
          "description": "Enable/disable use of Destination Internet Services for this policy.\n"
        },
        "internetServiceIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Destination Internet Service ID.\n"
        },
        "internetServiceNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Destination Internet Service Name.\n"
        },
        "internetServiceSrc": {
          "type": "string",
          "description": "Enable/disable use of Source Internet Services for this policy.\n"
        },
        "internetServiceSrcIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Source Internet Service ID.\n"
        },
        "internetServiceSrcNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Source Internet Service Name.\n"
        },
        "ippool": {
          "type": "string",
          "description": "Enable/disable to use IP Pools for source NAT.\n"
        },
        "ipsSensors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing IPS sensor.\n"
        },
        "logtraffic": {
          "type": "string",
          "description": "Enable or disable logging. Enum: [disable, all, utm]\n"
        },
        "logtrafficStart": {
          "type": "string",
          "description": "Record logs when a session starts and ends. Enum: [disable, enable]\n"
        },
        "name": {
          "type": "string",
          "description": "Policy name.\n"
        },
        "nat": {
          "type": "string",
          "description": "Enable/disable source NAT.\n"
        },
        "packageName": {
          "type": "string",
          "description": "The package name which the policy will be added to.\n"
        },
        "perIpShapers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Per-IP traffic shaper.\n"
        },
        "poolnames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "IP Pool names.\n"
        },
        "profileGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of profile group.\n"
        },
        "profileProtocolOptions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing Protocol options profile.\n"
        },
        "profileType": {
          "type": "string",
          "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Enum: [single, group]\n"
        },
        "rsso": {
          "type": "string",
          "description": "Enable/disable RADIUS Single Sign-On.\n"
        },
        "schedules": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Schedule name.\n"
        },
        "services": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Service and service group names.\n"
        },
        "srcaddrs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Source address and adress group names.\n"
        },
        "srcintfs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Incoming interface.\n"
        },
        "trafficShaperReverses": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Reverse traffic shaper.\n"
        },
        "trafficShapers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Traffic shaper.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Names of individual users that can authenticate with this policy.\n"
        },
        "utmStatus": {
          "type": "string",
          "description": "Enable/disable to add one or more security profiles (AV, IPS, etc.) to the firewall policy.\n"
        },
        "vpnTunnels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "wafProfiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing Web application firewall profile.\n"
        },
        "webfilterProfiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of an existing Web filter profile.\n"
        }
      },
      "requiredInputs": [
        "dstaddrs",
        "dstintfs",
        "schedules",
        "services",
        "srcaddrs",
        "srcintfs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FirewallSecurityPolicy resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Policy action, default is deny. Enum: [allow, deny, ipsec].\n"
          },
          "adom": {
            "type": "string",
            "description": "ADOM name. default is 'root'.\n"
          },
          "applicationLists": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Name of an existing Application list.\n"
          },
          "avProfiles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Name of an existing Antivirus profile.\n"
          },
          "capturePacket": {
            "type": "string",
            "description": "Enable/disable capture packets.\n"
          },
          "comments": {
            "type": "string",
            "description": "Comments.\n"
          },
          "dnsfilterProfiles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Name of an existing DNS filter profile.\n"
          },
          "dstaddrs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Destination address and adress group names.\n"
          },
          "dstintfs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Outgoing interface.\n"
          },
          "fixedport": {
            "type": "string",
            "description": "Enable/disable to prevent source NAT from changing a session's source port.\n"
          },
          "fsso": {
            "type": "string",
            "description": "Enable/disable Fortinet Single Sign-On.\n"
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Names of user groups that can authenticate with this policy.\n"
          },
          "inbound": {
            "type": "string",
            "description": "Policy-based IPsec VPN: only traffic from the remote network can initiate a VPN. Enum: [disable, enable]\n"
          },
          "internetService": {
            "type": "string",
            "description": "Enable/disable use of Destination Internet Services for this policy.\n"
          },
          "internetServiceIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Destination Internet Service ID.\n"
          },
          "internetServiceNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Destination Internet Service Name.\n"
          },
          "internetServiceSrc": {
            "type": "string",
            "description": "Enable/disable use of Source Internet Services for this policy.\n"
          },
          "internetServiceSrcIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Source Internet Service ID.\n"
          },
          "internetServiceSrcNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Source Internet Service Name.\n"
          },
          "ippool": {
            "type": "string",
            "description": "Enable/disable to use IP Pools for source NAT.\n"
          },
          "ipsSensors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Name of an existing IPS sensor.\n"
          },
          "logtraffic": {
            "type": "string",
            "description": "Enable or disable logging. Enum: [disable, all, utm]\n"
          },
          "logtrafficStart": {
            "type": "string",
            "description": "Record logs when a session starts and ends. Enum: [disable, enable]\n"
          },
          "name": {
            "type": "string",
            "description": "Policy name.\n"
          },
          "nat": {
            "type": "string",
            "description": "Enable/disable source NAT.\n"
          },
          "packageName": {
            "type": "string",
            "description": "The package name which the policy will be added to.\n"
          },
          "perIpShapers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Per-IP traffic shaper.\n"
          },
          "poolnames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IP Pool names.\n"
          },
          "profileGroups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Name of profile group.\n"
          },
          "profileProtocolOptions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Name of an existing Protocol options profile.\n"
          },
          "profileType": {
            "type": "string",
            "description": "Determine whether the firewall policy allows security profile groups or single profiles only. Enum: [single, group]\n"
          },
          "rsso": {
            "type": "string",
            "description": "Enable/disable RADIUS Single Sign-On.\n"
          },
          "schedules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Schedule name.\n"
          },
          "services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Service and service group names.\n"
          },
          "srcaddrs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Source address and adress group names.\n"
          },
          "srcintfs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Incoming interface.\n"
          },
          "trafficShaperReverses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Reverse traffic shaper.\n"
          },
          "trafficShapers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Traffic shaper.\n"
          },
          "users": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Names of individual users that can authenticate with this policy.\n"
          },
          "utmStatus": {
            "type": "string",
            "description": "Enable/disable to add one or more security profiles (AV, IPS, etc.) to the firewall policy.\n"
          },
          "vpnTunnels": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "wafProfiles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Name of an existing Web application firewall profile.\n"
          },
          "webfilterProfiles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Name of an existing Web filter profile.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/firewallSecurityPolicypackage:FirewallSecurityPolicypackage": {
      "description": "This resource supports Create/Read/Update/Delete firewall security policypackage on FortiManager which could be installed to the FortiGate later\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.FirewallSecurityPolicypackage(\"test1\", {target: \"FGVM64-test\"});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.FirewallSecurityPolicypackage(\"test1\", target=\"FGVM64-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.FirewallSecurityPolicypackage(\"test1\", new()\n    {\n        Target = \"FGVM64-test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewFirewallSecurityPolicypackage(ctx, \"test1\", &fmg.FirewallSecurityPolicypackageArgs{\n\t\t\tTarget: pulumi.String(\"FGVM64-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.FirewallSecurityPolicypackage;\nimport com.pulumi.fortios.fmg.FirewallSecurityPolicypackageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new FirewallSecurityPolicypackage(\"test1\", FirewallSecurityPolicypackageArgs.builder()\n            .target(\"FGVM64-test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:FirewallSecurityPolicypackage\n    properties:\n      target: FGVM64-test\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "Source ADOM name. default is 'root'\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Inspection Mode. Enum:[flow, proxy]. default is 'flow'\n"
        },
        "name": {
          "type": "string",
          "description": "Security policy package name.\n"
        },
        "target": {
          "type": "string",
          "description": "The installation target.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Vdom of managed device. default is 'root'\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "Source ADOM name. default is 'root'\n"
        },
        "inspectionMode": {
          "type": "string",
          "description": "Inspection Mode. Enum:[flow, proxy]. default is 'flow'\n"
        },
        "name": {
          "type": "string",
          "description": "Security policy package name.\n"
        },
        "target": {
          "type": "string",
          "description": "The installation target.\n"
        },
        "vdom": {
          "type": "string",
          "description": "Vdom of managed device. default is 'root'\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FirewallSecurityPolicypackage resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "Source ADOM name. default is 'root'\n"
          },
          "inspectionMode": {
            "type": "string",
            "description": "Inspection Mode. Enum:[flow, proxy]. default is 'flow'\n"
          },
          "name": {
            "type": "string",
            "description": "Security policy package name.\n"
          },
          "target": {
            "type": "string",
            "description": "The installation target.\n"
          },
          "vdom": {
            "type": "string",
            "description": "Vdom of managed device. default is 'root'\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/jsonrpcRequest:JsonrpcRequest": {
      "description": "This resource supports handling JSON RPC request for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.JsonrpcRequest(\"test1\", {jsonContent: `{\n  \"method\": \"add\",\n  \"params\": [\n    {\n      \"data\": [\n        {\n          \"action\": \"accept\",\n          \"dstaddr\": [\"all\"],\n          \"dstintf\": \"any\",\n          \"name\": \"policytest\",\n          \"schedule\": \"none\",\n          \"service\": \"ALL\",\n          \"srcaddr\": \"all\",\n          \"srcintf\": \"any\",\n          \"internet-service\": \"enable\",\n          \"internet-service-id\": \"Alibaba-Web\",\n          \"internet-service-src\": \"enable\",\n          \"internet-service-src-id\": \"Alibaba-Web\",\n          \"users\": \"guest\",\n          \"groups\": \"Guest-group\"\n        }\n      ],\n      \"url\": \"/pm/config/adom/root/pkg/default/firewall/policy\"\n    }\n  ]\n}\n\n`});\nconst test2 = new fortios.fmg.JsonrpcRequest(\"test2\", {jsonContent: `{\n  \"method\": \"add\",\n  \"params\": [\n    {\n      \"data\": [\n        {\n          \"ip\": \"192.168.1.2\",\n          \"name\": \"logserver4\",\n          \"port\": \"514\"\n        }\n      ],\n      \"url\": \"/cli/global/system/syslog\"\n    }\n  ]\n}\n\n`});\nconst test3 = new fortios.fmg.JsonrpcRequest(\"test3\", {jsonContent: `{\n  \"method\": \"get\",\n  \"params\": [\n    {\n      \"url\": \"/cli/global/system/admin/user/APIUser\"\n    }\n  ]\n}\n\n`});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.JsonrpcRequest(\"test1\", json_content=\"\"\"{\n  \"method\": \"add\",\n  \"params\": [\n    {\n      \"data\": [\n        {\n          \"action\": \"accept\",\n          \"dstaddr\": [\"all\"],\n          \"dstintf\": \"any\",\n          \"name\": \"policytest\",\n          \"schedule\": \"none\",\n          \"service\": \"ALL\",\n          \"srcaddr\": \"all\",\n          \"srcintf\": \"any\",\n          \"internet-service\": \"enable\",\n          \"internet-service-id\": \"Alibaba-Web\",\n          \"internet-service-src\": \"enable\",\n          \"internet-service-src-id\": \"Alibaba-Web\",\n          \"users\": \"guest\",\n          \"groups\": \"Guest-group\"\n        }\n      ],\n      \"url\": \"/pm/config/adom/root/pkg/default/firewall/policy\"\n    }\n  ]\n}\n\n\"\"\")\ntest2 = fortios.fmg.JsonrpcRequest(\"test2\", json_content=\"\"\"{\n  \"method\": \"add\",\n  \"params\": [\n    {\n      \"data\": [\n        {\n          \"ip\": \"192.168.1.2\",\n          \"name\": \"logserver4\",\n          \"port\": \"514\"\n        }\n      ],\n      \"url\": \"/cli/global/system/syslog\"\n    }\n  ]\n}\n\n\"\"\")\ntest3 = fortios.fmg.JsonrpcRequest(\"test3\", json_content=\"\"\"{\n  \"method\": \"get\",\n  \"params\": [\n    {\n      \"url\": \"/cli/global/system/admin/user/APIUser\"\n    }\n  ]\n}\n\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.JsonrpcRequest(\"test1\", new()\n    {\n        JsonContent = @\"{\n  \"\"method\"\": \"\"add\"\",\n  \"\"params\"\": [\n    {\n      \"\"data\"\": [\n        {\n          \"\"action\"\": \"\"accept\"\",\n          \"\"dstaddr\"\": [\"\"all\"\"],\n          \"\"dstintf\"\": \"\"any\"\",\n          \"\"name\"\": \"\"policytest\"\",\n          \"\"schedule\"\": \"\"none\"\",\n          \"\"service\"\": \"\"ALL\"\",\n          \"\"srcaddr\"\": \"\"all\"\",\n          \"\"srcintf\"\": \"\"any\"\",\n          \"\"internet-service\"\": \"\"enable\"\",\n          \"\"internet-service-id\"\": \"\"Alibaba-Web\"\",\n          \"\"internet-service-src\"\": \"\"enable\"\",\n          \"\"internet-service-src-id\"\": \"\"Alibaba-Web\"\",\n          \"\"users\"\": \"\"guest\"\",\n          \"\"groups\"\": \"\"Guest-group\"\"\n        }\n      ],\n      \"\"url\"\": \"\"/pm/config/adom/root/pkg/default/firewall/policy\"\"\n    }\n  ]\n}\n\n\",\n    });\n\n    var test2 = new Fortios.Fmg.JsonrpcRequest(\"test2\", new()\n    {\n        JsonContent = @\"{\n  \"\"method\"\": \"\"add\"\",\n  \"\"params\"\": [\n    {\n      \"\"data\"\": [\n        {\n          \"\"ip\"\": \"\"192.168.1.2\"\",\n          \"\"name\"\": \"\"logserver4\"\",\n          \"\"port\"\": \"\"514\"\"\n        }\n      ],\n      \"\"url\"\": \"\"/cli/global/system/syslog\"\"\n    }\n  ]\n}\n\n\",\n    });\n\n    var test3 = new Fortios.Fmg.JsonrpcRequest(\"test3\", new()\n    {\n        JsonContent = @\"{\n  \"\"method\"\": \"\"get\"\",\n  \"\"params\"\": [\n    {\n      \"\"url\"\": \"\"/cli/global/system/admin/user/APIUser\"\"\n    }\n  ]\n}\n\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewJsonrpcRequest(ctx, \"test1\", &fmg.JsonrpcRequestArgs{\n\t\t\tJsonContent: pulumi.String(`{\n  \"method\": \"add\",\n  \"params\": [\n    {\n      \"data\": [\n        {\n          \"action\": \"accept\",\n          \"dstaddr\": [\"all\"],\n          \"dstintf\": \"any\",\n          \"name\": \"policytest\",\n          \"schedule\": \"none\",\n          \"service\": \"ALL\",\n          \"srcaddr\": \"all\",\n          \"srcintf\": \"any\",\n          \"internet-service\": \"enable\",\n          \"internet-service-id\": \"Alibaba-Web\",\n          \"internet-service-src\": \"enable\",\n          \"internet-service-src-id\": \"Alibaba-Web\",\n          \"users\": \"guest\",\n          \"groups\": \"Guest-group\"\n        }\n      ],\n      \"url\": \"/pm/config/adom/root/pkg/default/firewall/policy\"\n    }\n  ]\n}\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fmg.NewJsonrpcRequest(ctx, \"test2\", &fmg.JsonrpcRequestArgs{\n\t\t\tJsonContent: pulumi.String(`{\n  \"method\": \"add\",\n  \"params\": [\n    {\n      \"data\": [\n        {\n          \"ip\": \"192.168.1.2\",\n          \"name\": \"logserver4\",\n          \"port\": \"514\"\n        }\n      ],\n      \"url\": \"/cli/global/system/syslog\"\n    }\n  ]\n}\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fmg.NewJsonrpcRequest(ctx, \"test3\", &fmg.JsonrpcRequestArgs{\n\t\t\tJsonContent: pulumi.String(`{\n  \"method\": \"get\",\n  \"params\": [\n    {\n      \"url\": \"/cli/global/system/admin/user/APIUser\"\n    }\n  ]\n}\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.JsonrpcRequest;\nimport com.pulumi.fortios.fmg.JsonrpcRequestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new JsonrpcRequest(\"test1\", JsonrpcRequestArgs.builder()\n            .jsonContent(\"\"\"\n{\n  \"method\": \"add\",\n  \"params\": [\n    {\n      \"data\": [\n        {\n          \"action\": \"accept\",\n          \"dstaddr\": [\"all\"],\n          \"dstintf\": \"any\",\n          \"name\": \"policytest\",\n          \"schedule\": \"none\",\n          \"service\": \"ALL\",\n          \"srcaddr\": \"all\",\n          \"srcintf\": \"any\",\n          \"internet-service\": \"enable\",\n          \"internet-service-id\": \"Alibaba-Web\",\n          \"internet-service-src\": \"enable\",\n          \"internet-service-src-id\": \"Alibaba-Web\",\n          \"users\": \"guest\",\n          \"groups\": \"Guest-group\"\n        }\n      ],\n      \"url\": \"/pm/config/adom/root/pkg/default/firewall/policy\"\n    }\n  ]\n}\n\n            \"\"\")\n            .build());\n\n        var test2 = new JsonrpcRequest(\"test2\", JsonrpcRequestArgs.builder()\n            .jsonContent(\"\"\"\n{\n  \"method\": \"add\",\n  \"params\": [\n    {\n      \"data\": [\n        {\n          \"ip\": \"192.168.1.2\",\n          \"name\": \"logserver4\",\n          \"port\": \"514\"\n        }\n      ],\n      \"url\": \"/cli/global/system/syslog\"\n    }\n  ]\n}\n\n            \"\"\")\n            .build());\n\n        var test3 = new JsonrpcRequest(\"test3\", JsonrpcRequestArgs.builder()\n            .jsonContent(\"\"\"\n{\n  \"method\": \"get\",\n  \"params\": [\n    {\n      \"url\": \"/cli/global/system/admin/user/APIUser\"\n    }\n  ]\n}\n\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:JsonrpcRequest\n    properties:\n      jsonContent: |+\n        {\n          \"method\": \"add\",\n          \"params\": [\n            {\n              \"data\": [\n                {\n                  \"action\": \"accept\",\n                  \"dstaddr\": [\"all\"],\n                  \"dstintf\": \"any\",\n                  \"name\": \"policytest\",\n                  \"schedule\": \"none\",\n                  \"service\": \"ALL\",\n                  \"srcaddr\": \"all\",\n                  \"srcintf\": \"any\",\n                  \"internet-service\": \"enable\",\n                  \"internet-service-id\": \"Alibaba-Web\",\n                  \"internet-service-src\": \"enable\",\n                  \"internet-service-src-id\": \"Alibaba-Web\",\n                  \"users\": \"guest\",\n                  \"groups\": \"Guest-group\"\n                }\n              ],\n              \"url\": \"/pm/config/adom/root/pkg/default/firewall/policy\"\n            }\n          ]\n        }\n\n  test2:\n    type: fortios:fmg:JsonrpcRequest\n    properties:\n      jsonContent: |+\n        {\n          \"method\": \"add\",\n          \"params\": [\n            {\n              \"data\": [\n                {\n                  \"ip\": \"192.168.1.2\",\n                  \"name\": \"logserver4\",\n                  \"port\": \"514\"\n                }\n              ],\n              \"url\": \"/cli/global/system/syslog\"\n            }\n          ]\n        }\n\n  test3:\n    type: fortios:fmg:JsonrpcRequest\n    properties:\n      jsonContent: |+\n        {\n          \"method\": \"get\",\n          \"params\": [\n            {\n              \"url\": \"/cli/global/system/admin/user/APIUser\"\n            }\n          ]\n        }\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "jsonContent": {
          "type": "string",
          "description": "JSON RPC request, which should contain 'method' and 'params' parameters.\n"
        },
        "response": {
          "type": "string",
          "description": "JSON RPC request response data.\n"
        }
      },
      "type": "object",
      "required": [
        "jsonContent",
        "response"
      ],
      "inputProperties": {
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "jsonContent": {
          "type": "string",
          "description": "JSON RPC request, which should contain 'method' and 'params' parameters.\n"
        }
      },
      "requiredInputs": [
        "jsonContent"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering JsonrpcRequest resources.\n",
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "jsonContent": {
            "type": "string",
            "description": "JSON RPC request, which should contain 'method' and 'params' parameters.\n"
          },
          "response": {
            "type": "string",
            "description": "JSON RPC request response data.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/objectAdomRevision:ObjectAdomRevision": {
      "description": "This resource supports Create/Read/Update/Delete object adom revision for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.ObjectAdomRevision(\"test1\", {\n    createdBy: \"fortinet\",\n    description: \"adom revision\",\n    locked: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.ObjectAdomRevision(\"test1\",\n    created_by=\"fortinet\",\n    description=\"adom revision\",\n    locked=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.ObjectAdomRevision(\"test1\", new()\n    {\n        CreatedBy = \"fortinet\",\n        Description = \"adom revision\",\n        Locked = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewObjectAdomRevision(ctx, \"test1\", &fmg.ObjectAdomRevisionArgs{\n\t\t\tCreatedBy:   pulumi.String(\"fortinet\"),\n\t\t\tDescription: pulumi.String(\"adom revision\"),\n\t\t\tLocked:      pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.ObjectAdomRevision;\nimport com.pulumi.fortios.fmg.ObjectAdomRevisionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new ObjectAdomRevision(\"test1\", ObjectAdomRevisionArgs.builder()\n            .createdBy(\"fortinet\")\n            .description(\"adom revision\")\n            .locked(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:ObjectAdomRevision\n    properties:\n      createdBy: fortinet\n      description: adom revision\n      locked: 0\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "createdBy": {
          "type": "string",
          "description": "Who created this adom revision.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "locked": {
          "type": "integer",
          "description": "lock. 0 means unlock and 1 means locked.\n"
        },
        "name": {
          "type": "string",
          "description": "Adom revision name.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "ADOM name. default is 'root'.\n"
        },
        "createdBy": {
          "type": "string",
          "description": "Who created this adom revision.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "locked": {
          "type": "integer",
          "description": "lock. 0 means unlock and 1 means locked.\n"
        },
        "name": {
          "type": "string",
          "description": "Adom revision name.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ObjectAdomRevision resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "ADOM name. default is 'root'.\n"
          },
          "createdBy": {
            "type": "string",
            "description": "Who created this adom revision.\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "locked": {
            "type": "integer",
            "description": "lock. 0 means unlock and 1 means locked.\n"
          },
          "name": {
            "type": "string",
            "description": "Adom revision name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemAdmin:SystemAdmin": {
      "description": "This resource supports modifying system admin setting for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemAdmin(\"test1\", {\n    httpPort: 80,\n    httpsPort: 443,\n    idleTimeout: 20,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemAdmin(\"test1\",\n    http_port=80,\n    https_port=443,\n    idle_timeout=20)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemAdmin(\"test1\", new()\n    {\n        HttpPort = 80,\n        HttpsPort = 443,\n        IdleTimeout = 20,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemAdmin(ctx, \"test1\", &fmg.SystemAdminArgs{\n\t\t\tHttpPort:    pulumi.Int(80),\n\t\t\tHttpsPort:   pulumi.Int(443),\n\t\t\tIdleTimeout: pulumi.Int(20),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemAdmin;\nimport com.pulumi.fortios.fmg.SystemAdminArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemAdmin(\"test1\", SystemAdminArgs.builder()\n            .httpPort(80)\n            .httpsPort(443)\n            .idleTimeout(20)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemAdmin\n    properties:\n      httpPort: 80\n      httpsPort: 443\n      idleTimeout: 20\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "httpPort": {
          "type": "integer",
          "description": "Http port.\n"
        },
        "httpsPort": {
          "type": "integer",
          "description": "Https port.\n"
        },
        "idleTimeout": {
          "type": "integer",
          "description": "Idle Timeout(1-480 minute).\n"
        }
      },
      "type": "object",
      "inputProperties": {
        "httpPort": {
          "type": "integer",
          "description": "Http port.\n"
        },
        "httpsPort": {
          "type": "integer",
          "description": "Https port.\n"
        },
        "idleTimeout": {
          "type": "integer",
          "description": "Idle Timeout(1-480 minute).\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemAdmin resources.\n",
        "properties": {
          "httpPort": {
            "type": "integer",
            "description": "Http port.\n"
          },
          "httpsPort": {
            "type": "integer",
            "description": "Https port.\n"
          },
          "idleTimeout": {
            "type": "integer",
            "description": "Idle Timeout(1-480 minute).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemAdminProfiles:SystemAdminProfiles": {
      "description": "This resource supports Create/Read/Update/Delete admin profiles for FortiManager\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemAdminProfiles(\"test1\", {\n    adomPolicyPackages: \"read\",\n    adomSwitch: \"read\",\n    assignment: \"read\",\n    configRetrieve: \"read\",\n    configRevert: \"read\",\n    consistencyCheck: \"read-write\",\n    deployManagement: \"read\",\n    description: \"11\",\n    deviceAp: \"none\",\n    deviceConfig: \"read\",\n    deviceForticlient: \"read\",\n    deviceFortiswitch: \"read\",\n    deviceManager: \"read-write\",\n    deviceOperation: \"read\",\n    deviceProfile: \"read\",\n    deviceRevisionDeletion: \"read\",\n    deviceWanLinkLoadBalance: \"read\",\n    fortiguardCenter: \"read\",\n    fortiguardCenterAdvanced: \"read\",\n    fortiguardCenterFirmwareManagerment: \"read\",\n    fortiguardCenterLicensing: \"read\",\n    globalPolicyPackages: \"read-write\",\n    importPolicyPackages: \"read\",\n    intfMapping: \"read-write\",\n    logViewer: \"read\",\n    policyObjects: \"read-write\",\n    profileid: \"terraform-test1\",\n    setInstallTargets: \"read-write\",\n    systemSetting: \"read\",\n    terminalAccess: \"read\",\n    vpnManager: \"read\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemAdminProfiles(\"test1\",\n    adom_policy_packages=\"read\",\n    adom_switch=\"read\",\n    assignment=\"read\",\n    config_retrieve=\"read\",\n    config_revert=\"read\",\n    consistency_check=\"read-write\",\n    deploy_management=\"read\",\n    description=\"11\",\n    device_ap=\"none\",\n    device_config=\"read\",\n    device_forticlient=\"read\",\n    device_fortiswitch=\"read\",\n    device_manager=\"read-write\",\n    device_operation=\"read\",\n    device_profile=\"read\",\n    device_revision_deletion=\"read\",\n    device_wan_link_load_balance=\"read\",\n    fortiguard_center=\"read\",\n    fortiguard_center_advanced=\"read\",\n    fortiguard_center_firmware_managerment=\"read\",\n    fortiguard_center_licensing=\"read\",\n    global_policy_packages=\"read-write\",\n    import_policy_packages=\"read\",\n    intf_mapping=\"read-write\",\n    log_viewer=\"read\",\n    policy_objects=\"read-write\",\n    profileid=\"terraform-test1\",\n    set_install_targets=\"read-write\",\n    system_setting=\"read\",\n    terminal_access=\"read\",\n    vpn_manager=\"read\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemAdminProfiles(\"test1\", new()\n    {\n        AdomPolicyPackages = \"read\",\n        AdomSwitch = \"read\",\n        Assignment = \"read\",\n        ConfigRetrieve = \"read\",\n        ConfigRevert = \"read\",\n        ConsistencyCheck = \"read-write\",\n        DeployManagement = \"read\",\n        Description = \"11\",\n        DeviceAp = \"none\",\n        DeviceConfig = \"read\",\n        DeviceForticlient = \"read\",\n        DeviceFortiswitch = \"read\",\n        DeviceManager = \"read-write\",\n        DeviceOperation = \"read\",\n        DeviceProfile = \"read\",\n        DeviceRevisionDeletion = \"read\",\n        DeviceWanLinkLoadBalance = \"read\",\n        FortiguardCenter = \"read\",\n        FortiguardCenterAdvanced = \"read\",\n        FortiguardCenterFirmwareManagerment = \"read\",\n        FortiguardCenterLicensing = \"read\",\n        GlobalPolicyPackages = \"read-write\",\n        ImportPolicyPackages = \"read\",\n        IntfMapping = \"read-write\",\n        LogViewer = \"read\",\n        PolicyObjects = \"read-write\",\n        Profileid = \"terraform-test1\",\n        SetInstallTargets = \"read-write\",\n        SystemSetting = \"read\",\n        TerminalAccess = \"read\",\n        VpnManager = \"read\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemAdminProfiles(ctx, \"test1\", &fmg.SystemAdminProfilesArgs{\n\t\t\tAdomPolicyPackages:                  pulumi.String(\"read\"),\n\t\t\tAdomSwitch:                          pulumi.String(\"read\"),\n\t\t\tAssignment:                          pulumi.String(\"read\"),\n\t\t\tConfigRetrieve:                      pulumi.String(\"read\"),\n\t\t\tConfigRevert:                        pulumi.String(\"read\"),\n\t\t\tConsistencyCheck:                    pulumi.String(\"read-write\"),\n\t\t\tDeployManagement:                    pulumi.String(\"read\"),\n\t\t\tDescription:                         pulumi.String(\"11\"),\n\t\t\tDeviceAp:                            pulumi.String(\"none\"),\n\t\t\tDeviceConfig:                        pulumi.String(\"read\"),\n\t\t\tDeviceForticlient:                   pulumi.String(\"read\"),\n\t\t\tDeviceFortiswitch:                   pulumi.String(\"read\"),\n\t\t\tDeviceManager:                       pulumi.String(\"read-write\"),\n\t\t\tDeviceOperation:                     pulumi.String(\"read\"),\n\t\t\tDeviceProfile:                       pulumi.String(\"read\"),\n\t\t\tDeviceRevisionDeletion:              pulumi.String(\"read\"),\n\t\t\tDeviceWanLinkLoadBalance:            pulumi.String(\"read\"),\n\t\t\tFortiguardCenter:                    pulumi.String(\"read\"),\n\t\t\tFortiguardCenterAdvanced:            pulumi.String(\"read\"),\n\t\t\tFortiguardCenterFirmwareManagerment: pulumi.String(\"read\"),\n\t\t\tFortiguardCenterLicensing:           pulumi.String(\"read\"),\n\t\t\tGlobalPolicyPackages:                pulumi.String(\"read-write\"),\n\t\t\tImportPolicyPackages:                pulumi.String(\"read\"),\n\t\t\tIntfMapping:                         pulumi.String(\"read-write\"),\n\t\t\tLogViewer:                           pulumi.String(\"read\"),\n\t\t\tPolicyObjects:                       pulumi.String(\"read-write\"),\n\t\t\tProfileid:                           pulumi.String(\"terraform-test1\"),\n\t\t\tSetInstallTargets:                   pulumi.String(\"read-write\"),\n\t\t\tSystemSetting:                       pulumi.String(\"read\"),\n\t\t\tTerminalAccess:                      pulumi.String(\"read\"),\n\t\t\tVpnManager:                          pulumi.String(\"read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemAdminProfiles;\nimport com.pulumi.fortios.fmg.SystemAdminProfilesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemAdminProfiles(\"test1\", SystemAdminProfilesArgs.builder()\n            .adomPolicyPackages(\"read\")\n            .adomSwitch(\"read\")\n            .assignment(\"read\")\n            .configRetrieve(\"read\")\n            .configRevert(\"read\")\n            .consistencyCheck(\"read-write\")\n            .deployManagement(\"read\")\n            .description(\"11\")\n            .deviceAp(\"none\")\n            .deviceConfig(\"read\")\n            .deviceForticlient(\"read\")\n            .deviceFortiswitch(\"read\")\n            .deviceManager(\"read-write\")\n            .deviceOperation(\"read\")\n            .deviceProfile(\"read\")\n            .deviceRevisionDeletion(\"read\")\n            .deviceWanLinkLoadBalance(\"read\")\n            .fortiguardCenter(\"read\")\n            .fortiguardCenterAdvanced(\"read\")\n            .fortiguardCenterFirmwareManagerment(\"read\")\n            .fortiguardCenterLicensing(\"read\")\n            .globalPolicyPackages(\"read-write\")\n            .importPolicyPackages(\"read\")\n            .intfMapping(\"read-write\")\n            .logViewer(\"read\")\n            .policyObjects(\"read-write\")\n            .profileid(\"terraform-test1\")\n            .setInstallTargets(\"read-write\")\n            .systemSetting(\"read\")\n            .terminalAccess(\"read\")\n            .vpnManager(\"read\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemAdminProfiles\n    properties:\n      adomPolicyPackages: read\n      adomSwitch: read\n      assignment: read\n      configRetrieve: read\n      configRevert: read\n      consistencyCheck: read-write\n      deployManagement: read\n      description: '11'\n      deviceAp: none\n      deviceConfig: read\n      deviceForticlient: read\n      deviceFortiswitch: read\n      deviceManager: read-write\n      deviceOperation: read\n      deviceProfile: read\n      deviceRevisionDeletion: read\n      deviceWanLinkLoadBalance: read\n      fortiguardCenter: read\n      fortiguardCenterAdvanced: read\n      fortiguardCenterFirmwareManagerment: read\n      fortiguardCenterLicensing: read\n      globalPolicyPackages: read-write\n      importPolicyPackages: read\n      intfMapping: read-write\n      logViewer: read\n      policyObjects: read-write\n      profileid: terraform-test1\n      setInstallTargets: read-write\n      systemSetting: read\n      terminalAccess: read\n      vpnManager: read\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adomPolicyPackages": {
          "type": "string",
          "description": "Adom policy packages.\n"
        },
        "adomSwitch": {
          "type": "string",
          "description": "Administrator Domain.\n"
        },
        "assignment": {
          "type": "string",
          "description": "Assignment Permission.\n"
        },
        "configRetrieve": {
          "type": "string",
          "description": "Configuration Retrieve.\n"
        },
        "configRevert": {
          "type": "string",
          "description": "Revert Configuration from Revision History.\n"
        },
        "consistencyCheck": {
          "type": "string",
          "description": "Consistency check.\n"
        },
        "deployManagement": {
          "type": "string",
          "description": "Install to devices.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceAp": {
          "type": "string",
          "description": "Manage AP.\n"
        },
        "deviceConfig": {
          "type": "string",
          "description": "Manage device configurations.\n"
        },
        "deviceForticlient": {
          "type": "string",
          "description": "Manage FortiClient.\n"
        },
        "deviceFortiswitch": {
          "type": "string",
          "description": "Manage FortiSwitch.\n"
        },
        "deviceManager": {
          "type": "string",
          "description": "Device Manager.\n"
        },
        "deviceOperation": {
          "type": "string",
          "description": "Device add/delete/edit.\n"
        },
        "deviceProfile": {
          "type": "string",
          "description": "Device profile permission.\n"
        },
        "deviceRevisionDeletion": {
          "type": "string",
          "description": "Delete device revision.\n"
        },
        "deviceWanLinkLoadBalance": {
          "type": "string",
          "description": "Manage WAN link load balance.\n"
        },
        "fortiguardCenter": {
          "type": "string",
          "description": "FortiGuard Center.\n"
        },
        "fortiguardCenterAdvanced": {
          "type": "string",
          "description": "FortiGuard Center Advanced.\n"
        },
        "fortiguardCenterFirmwareManagerment": {
          "type": "string",
          "description": "FortiGuard Center Firmware Managerment.\n"
        },
        "fortiguardCenterLicensing": {
          "type": "string",
          "description": "FortiGuard Center Licensing.\n"
        },
        "globalPolicyPackages": {
          "type": "string",
          "description": "Global policy packages.\n"
        },
        "importPolicyPackages": {
          "type": "string",
          "description": "Import Policy Package.\n"
        },
        "intfMapping": {
          "type": "string",
          "description": "Interface Mapping.\n"
        },
        "logViewer": {
          "type": "string",
          "description": "Log Viewer.\n"
        },
        "policyObjects": {
          "type": "string",
          "description": "Policy objects permission.\n"
        },
        "profileid": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "setInstallTargets": {
          "type": "string",
          "description": "Edit installation targets.\n"
        },
        "systemSetting": {
          "type": "string",
          "description": "System Setting.\n"
        },
        "terminalAccess": {
          "type": "string",
          "description": "Terminal access.\n"
        },
        "vpnManager": {
          "type": "string",
          "description": "VPN Manager.\n"
        }
      },
      "type": "object",
      "required": [
        "profileid"
      ],
      "inputProperties": {
        "adomPolicyPackages": {
          "type": "string",
          "description": "Adom policy packages.\n"
        },
        "adomSwitch": {
          "type": "string",
          "description": "Administrator Domain.\n"
        },
        "assignment": {
          "type": "string",
          "description": "Assignment Permission.\n"
        },
        "configRetrieve": {
          "type": "string",
          "description": "Configuration Retrieve.\n"
        },
        "configRevert": {
          "type": "string",
          "description": "Revert Configuration from Revision History.\n"
        },
        "consistencyCheck": {
          "type": "string",
          "description": "Consistency check.\n"
        },
        "deployManagement": {
          "type": "string",
          "description": "Install to devices.\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "deviceAp": {
          "type": "string",
          "description": "Manage AP.\n"
        },
        "deviceConfig": {
          "type": "string",
          "description": "Manage device configurations.\n"
        },
        "deviceForticlient": {
          "type": "string",
          "description": "Manage FortiClient.\n"
        },
        "deviceFortiswitch": {
          "type": "string",
          "description": "Manage FortiSwitch.\n"
        },
        "deviceManager": {
          "type": "string",
          "description": "Device Manager.\n"
        },
        "deviceOperation": {
          "type": "string",
          "description": "Device add/delete/edit.\n"
        },
        "deviceProfile": {
          "type": "string",
          "description": "Device profile permission.\n"
        },
        "deviceRevisionDeletion": {
          "type": "string",
          "description": "Delete device revision.\n"
        },
        "deviceWanLinkLoadBalance": {
          "type": "string",
          "description": "Manage WAN link load balance.\n"
        },
        "fortiguardCenter": {
          "type": "string",
          "description": "FortiGuard Center.\n"
        },
        "fortiguardCenterAdvanced": {
          "type": "string",
          "description": "FortiGuard Center Advanced.\n"
        },
        "fortiguardCenterFirmwareManagerment": {
          "type": "string",
          "description": "FortiGuard Center Firmware Managerment.\n"
        },
        "fortiguardCenterLicensing": {
          "type": "string",
          "description": "FortiGuard Center Licensing.\n"
        },
        "globalPolicyPackages": {
          "type": "string",
          "description": "Global policy packages.\n"
        },
        "importPolicyPackages": {
          "type": "string",
          "description": "Import Policy Package.\n"
        },
        "intfMapping": {
          "type": "string",
          "description": "Interface Mapping.\n"
        },
        "logViewer": {
          "type": "string",
          "description": "Log Viewer.\n"
        },
        "policyObjects": {
          "type": "string",
          "description": "Policy objects permission.\n"
        },
        "profileid": {
          "type": "string",
          "description": "Profile name.\n"
        },
        "setInstallTargets": {
          "type": "string",
          "description": "Edit installation targets.\n"
        },
        "systemSetting": {
          "type": "string",
          "description": "System Setting.\n"
        },
        "terminalAccess": {
          "type": "string",
          "description": "Terminal access.\n"
        },
        "vpnManager": {
          "type": "string",
          "description": "VPN Manager.\n"
        }
      },
      "requiredInputs": [
        "profileid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemAdminProfiles resources.\n",
        "properties": {
          "adomPolicyPackages": {
            "type": "string",
            "description": "Adom policy packages.\n"
          },
          "adomSwitch": {
            "type": "string",
            "description": "Administrator Domain.\n"
          },
          "assignment": {
            "type": "string",
            "description": "Assignment Permission.\n"
          },
          "configRetrieve": {
            "type": "string",
            "description": "Configuration Retrieve.\n"
          },
          "configRevert": {
            "type": "string",
            "description": "Revert Configuration from Revision History.\n"
          },
          "consistencyCheck": {
            "type": "string",
            "description": "Consistency check.\n"
          },
          "deployManagement": {
            "type": "string",
            "description": "Install to devices.\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "deviceAp": {
            "type": "string",
            "description": "Manage AP.\n"
          },
          "deviceConfig": {
            "type": "string",
            "description": "Manage device configurations.\n"
          },
          "deviceForticlient": {
            "type": "string",
            "description": "Manage FortiClient.\n"
          },
          "deviceFortiswitch": {
            "type": "string",
            "description": "Manage FortiSwitch.\n"
          },
          "deviceManager": {
            "type": "string",
            "description": "Device Manager.\n"
          },
          "deviceOperation": {
            "type": "string",
            "description": "Device add/delete/edit.\n"
          },
          "deviceProfile": {
            "type": "string",
            "description": "Device profile permission.\n"
          },
          "deviceRevisionDeletion": {
            "type": "string",
            "description": "Delete device revision.\n"
          },
          "deviceWanLinkLoadBalance": {
            "type": "string",
            "description": "Manage WAN link load balance.\n"
          },
          "fortiguardCenter": {
            "type": "string",
            "description": "FortiGuard Center.\n"
          },
          "fortiguardCenterAdvanced": {
            "type": "string",
            "description": "FortiGuard Center Advanced.\n"
          },
          "fortiguardCenterFirmwareManagerment": {
            "type": "string",
            "description": "FortiGuard Center Firmware Managerment.\n"
          },
          "fortiguardCenterLicensing": {
            "type": "string",
            "description": "FortiGuard Center Licensing.\n"
          },
          "globalPolicyPackages": {
            "type": "string",
            "description": "Global policy packages.\n"
          },
          "importPolicyPackages": {
            "type": "string",
            "description": "Import Policy Package.\n"
          },
          "intfMapping": {
            "type": "string",
            "description": "Interface Mapping.\n"
          },
          "logViewer": {
            "type": "string",
            "description": "Log Viewer.\n"
          },
          "policyObjects": {
            "type": "string",
            "description": "Policy objects permission.\n"
          },
          "profileid": {
            "type": "string",
            "description": "Profile name.\n"
          },
          "setInstallTargets": {
            "type": "string",
            "description": "Edit installation targets.\n"
          },
          "systemSetting": {
            "type": "string",
            "description": "System Setting.\n"
          },
          "terminalAccess": {
            "type": "string",
            "description": "Terminal access.\n"
          },
          "vpnManager": {
            "type": "string",
            "description": "VPN Manager.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemAdminUser:SystemAdminUser": {
      "description": "This resource supports Create/Read/Update/Delete admin user for FortiManager\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemAdminUser(\"test1\", {\n    description: \"local user\",\n    password: \"123\",\n    profileid: \"Standard_User\",\n    rpcPermit: \"read\",\n    trusthost1: \"1.1.1.1 255.255.255.255\",\n    userType: \"local\",\n    userid: \"user1\",\n});\nconst test2 = new fortios.fmg.SystemAdminUser(\"test2\", {\n    description: \"api user\",\n    password: \"098\",\n    profileid: \"Standard_User\",\n    rpcPermit: \"read-write\",\n    trusthost1: \"2.2.2.2 255.255.255.255\",\n    userid: \"user2\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemAdminUser(\"test1\",\n    description=\"local user\",\n    password=\"123\",\n    profileid=\"Standard_User\",\n    rpc_permit=\"read\",\n    trusthost1=\"1.1.1.1 255.255.255.255\",\n    user_type=\"local\",\n    userid=\"user1\")\ntest2 = fortios.fmg.SystemAdminUser(\"test2\",\n    description=\"api user\",\n    password=\"098\",\n    profileid=\"Standard_User\",\n    rpc_permit=\"read-write\",\n    trusthost1=\"2.2.2.2 255.255.255.255\",\n    userid=\"user2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemAdminUser(\"test1\", new()\n    {\n        Description = \"local user\",\n        Password = \"123\",\n        Profileid = \"Standard_User\",\n        RpcPermit = \"read\",\n        Trusthost1 = \"1.1.1.1 255.255.255.255\",\n        UserType = \"local\",\n        Userid = \"user1\",\n    });\n\n    var test2 = new Fortios.Fmg.SystemAdminUser(\"test2\", new()\n    {\n        Description = \"api user\",\n        Password = \"098\",\n        Profileid = \"Standard_User\",\n        RpcPermit = \"read-write\",\n        Trusthost1 = \"2.2.2.2 255.255.255.255\",\n        Userid = \"user2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemAdminUser(ctx, \"test1\", &fmg.SystemAdminUserArgs{\n\t\t\tDescription: pulumi.String(\"local user\"),\n\t\t\tPassword:    pulumi.String(\"123\"),\n\t\t\tProfileid:   pulumi.String(\"Standard_User\"),\n\t\t\tRpcPermit:   pulumi.String(\"read\"),\n\t\t\tTrusthost1:  pulumi.String(\"1.1.1.1 255.255.255.255\"),\n\t\t\tUserType:    pulumi.String(\"local\"),\n\t\t\tUserid:      pulumi.String(\"user1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = fmg.NewSystemAdminUser(ctx, \"test2\", &fmg.SystemAdminUserArgs{\n\t\t\tDescription: pulumi.String(\"api user\"),\n\t\t\tPassword:    pulumi.String(\"098\"),\n\t\t\tProfileid:   pulumi.String(\"Standard_User\"),\n\t\t\tRpcPermit:   pulumi.String(\"read-write\"),\n\t\t\tTrusthost1:  pulumi.String(\"2.2.2.2 255.255.255.255\"),\n\t\t\tUserid:      pulumi.String(\"user2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemAdminUser;\nimport com.pulumi.fortios.fmg.SystemAdminUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemAdminUser(\"test1\", SystemAdminUserArgs.builder()\n            .description(\"local user\")\n            .password(\"123\")\n            .profileid(\"Standard_User\")\n            .rpcPermit(\"read\")\n            .trusthost1(\"1.1.1.1 255.255.255.255\")\n            .userType(\"local\")\n            .userid(\"user1\")\n            .build());\n\n        var test2 = new SystemAdminUser(\"test2\", SystemAdminUserArgs.builder()\n            .description(\"api user\")\n            .password(\"098\")\n            .profileid(\"Standard_User\")\n            .rpcPermit(\"read-write\")\n            .trusthost1(\"2.2.2.2 255.255.255.255\")\n            .userid(\"user2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemAdminUser\n    properties:\n      description: local user\n      password: '123'\n      profileid: Standard_User\n      rpcPermit: read\n      trusthost1: 1.1.1.1 255.255.255.255\n      userType: local\n      userid: user1\n  test2:\n    type: fortios:fmg:SystemAdminUser\n    properties:\n      description: api user\n      password: '098'\n      profileid: Standard_User\n      rpcPermit: read-write\n      trusthost1: 2.2.2.2 255.255.255.255\n      userid: user2\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "password": {
          "type": "string",
          "description": "Password.\n"
        },
        "profileid": {
          "type": "string",
          "description": "Profile id.\n"
        },
        "radiusServer": {
          "type": "string",
          "description": "RADIUS server name.\n"
        },
        "rpcPermit": {
          "type": "string",
          "description": "Rpc permit, Enum: [\"read-write\", \"none\", \"read\"]\n"
        },
        "trusthost1": {
          "type": "string",
          "description": "Admin user trusted host IP, default 0.0.0.0 0.0.0.0 for all.\n"
        },
        "trusthost2": {
          "type": "string",
          "description": "Admin user trusted host IP, default 255.255.255.255 255.255.255.255 for none.\n"
        },
        "trusthost3": {
          "type": "string",
          "description": "Admin user trusted host IP, default 255.255.255.255 255.255.255.255 for none.\n"
        },
        "userType": {
          "type": "string",
          "description": "User type, Enum: [\"local\", \"radius\", \"ldap\", \"tacacs-plus\", \"pki-auth\", \"group\"]\n"
        },
        "userid": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "type": "object",
      "required": [
        "userid"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "password": {
          "type": "string",
          "description": "Password.\n"
        },
        "profileid": {
          "type": "string",
          "description": "Profile id.\n"
        },
        "radiusServer": {
          "type": "string",
          "description": "RADIUS server name.\n"
        },
        "rpcPermit": {
          "type": "string",
          "description": "Rpc permit, Enum: [\"read-write\", \"none\", \"read\"]\n"
        },
        "trusthost1": {
          "type": "string",
          "description": "Admin user trusted host IP, default 0.0.0.0 0.0.0.0 for all.\n"
        },
        "trusthost2": {
          "type": "string",
          "description": "Admin user trusted host IP, default 255.255.255.255 255.255.255.255 for none.\n"
        },
        "trusthost3": {
          "type": "string",
          "description": "Admin user trusted host IP, default 255.255.255.255 255.255.255.255 for none.\n"
        },
        "userType": {
          "type": "string",
          "description": "User type, Enum: [\"local\", \"radius\", \"ldap\", \"tacacs-plus\", \"pki-auth\", \"group\"]\n"
        },
        "userid": {
          "type": "string",
          "description": "User name.\n"
        }
      },
      "requiredInputs": [
        "userid"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemAdminUser resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "password": {
            "type": "string",
            "description": "Password.\n"
          },
          "profileid": {
            "type": "string",
            "description": "Profile id.\n"
          },
          "radiusServer": {
            "type": "string",
            "description": "RADIUS server name.\n"
          },
          "rpcPermit": {
            "type": "string",
            "description": "Rpc permit, Enum: [\"read-write\", \"none\", \"read\"]\n"
          },
          "trusthost1": {
            "type": "string",
            "description": "Admin user trusted host IP, default 0.0.0.0 0.0.0.0 for all.\n"
          },
          "trusthost2": {
            "type": "string",
            "description": "Admin user trusted host IP, default 255.255.255.255 255.255.255.255 for none.\n"
          },
          "trusthost3": {
            "type": "string",
            "description": "Admin user trusted host IP, default 255.255.255.255 255.255.255.255 for none.\n"
          },
          "userType": {
            "type": "string",
            "description": "User type, Enum: [\"local\", \"radius\", \"ldap\", \"tacacs-plus\", \"pki-auth\", \"group\"]\n"
          },
          "userid": {
            "type": "string",
            "description": "User name.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemAdom:SystemAdom": {
      "description": "This resource supports Create/Read/Update/Delete system adom for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemAdom(\"test1\", {\n    actionWhenConflictsOccurDuringPolicyCheck: \"Continue\",\n    autoPushPolicyPackagesWhenDeviceBackOnline: \"Enable\",\n    centralManagementFortiap: true,\n    centralManagementSdwan: false,\n    centralManagementVpn: false,\n    mode: \"Normal\",\n    performPolicyCheckBeforeEveryInstall: true,\n    status: 1,\n    type: \"FortiCarrier\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemAdom(\"test1\",\n    action_when_conflicts_occur_during_policy_check=\"Continue\",\n    auto_push_policy_packages_when_device_back_online=\"Enable\",\n    central_management_fortiap=True,\n    central_management_sdwan=False,\n    central_management_vpn=False,\n    mode=\"Normal\",\n    perform_policy_check_before_every_install=True,\n    status=1,\n    type=\"FortiCarrier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemAdom(\"test1\", new()\n    {\n        ActionWhenConflictsOccurDuringPolicyCheck = \"Continue\",\n        AutoPushPolicyPackagesWhenDeviceBackOnline = \"Enable\",\n        CentralManagementFortiap = true,\n        CentralManagementSdwan = false,\n        CentralManagementVpn = false,\n        Mode = \"Normal\",\n        PerformPolicyCheckBeforeEveryInstall = true,\n        Status = 1,\n        Type = \"FortiCarrier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemAdom(ctx, \"test1\", &fmg.SystemAdomArgs{\n\t\t\tActionWhenConflictsOccurDuringPolicyCheck:  pulumi.String(\"Continue\"),\n\t\t\tAutoPushPolicyPackagesWhenDeviceBackOnline: pulumi.String(\"Enable\"),\n\t\t\tCentralManagementFortiap:                   pulumi.Bool(true),\n\t\t\tCentralManagementSdwan:                     pulumi.Bool(false),\n\t\t\tCentralManagementVpn:                       pulumi.Bool(false),\n\t\t\tMode:                                       pulumi.String(\"Normal\"),\n\t\t\tPerformPolicyCheckBeforeEveryInstall:       pulumi.Bool(true),\n\t\t\tStatus:                                     pulumi.Int(1),\n\t\t\tType:                                       pulumi.String(\"FortiCarrier\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemAdom;\nimport com.pulumi.fortios.fmg.SystemAdomArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemAdom(\"test1\", SystemAdomArgs.builder()\n            .actionWhenConflictsOccurDuringPolicyCheck(\"Continue\")\n            .autoPushPolicyPackagesWhenDeviceBackOnline(\"Enable\")\n            .centralManagementFortiap(true)\n            .centralManagementSdwan(false)\n            .centralManagementVpn(false)\n            .mode(\"Normal\")\n            .performPolicyCheckBeforeEveryInstall(true)\n            .status(1)\n            .type(\"FortiCarrier\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemAdom\n    properties:\n      actionWhenConflictsOccurDuringPolicyCheck: Continue\n      autoPushPolicyPackagesWhenDeviceBackOnline: Enable\n      centralManagementFortiap: true\n      centralManagementSdwan: false\n      centralManagementVpn: false\n      mode: Normal\n      performPolicyCheckBeforeEveryInstall: true\n      status: 1\n      type: FortiCarrier\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "actionWhenConflictsOccurDuringPolicyCheck": {
          "type": "string",
          "description": "True or False.\n"
        },
        "autoPushPolicyPackagesWhenDeviceBackOnline": {
          "type": "string",
          "description": "True or False.\n"
        },
        "centralManagementFortiap": {
          "type": "boolean",
          "description": "True or False.\n"
        },
        "centralManagementSdwan": {
          "type": "boolean",
          "description": "True or False.\n"
        },
        "centralManagementVpn": {
          "type": "boolean",
          "description": "True or False.\n"
        },
        "mode": {
          "type": "string",
          "description": "Adom mode: Normal or Backup.\n"
        },
        "name": {
          "type": "string",
          "description": "Administrative Domain name.\n"
        },
        "performPolicyCheckBeforeEveryInstall": {
          "type": "boolean",
          "description": "True or False.\n"
        },
        "status": {
          "type": "integer",
          "description": "Adom status. 0 means off and 1 means on.\n"
        },
        "type": {
          "type": "string",
          "description": "Domain type, Enum: [\"FortiGate\", \"FortiCarrier], default is \"FortiCarrier\".\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "inputProperties": {
        "actionWhenConflictsOccurDuringPolicyCheck": {
          "type": "string",
          "description": "True or False.\n"
        },
        "autoPushPolicyPackagesWhenDeviceBackOnline": {
          "type": "string",
          "description": "True or False.\n"
        },
        "centralManagementFortiap": {
          "type": "boolean",
          "description": "True or False.\n"
        },
        "centralManagementSdwan": {
          "type": "boolean",
          "description": "True or False.\n"
        },
        "centralManagementVpn": {
          "type": "boolean",
          "description": "True or False.\n"
        },
        "mode": {
          "type": "string",
          "description": "Adom mode: Normal or Backup.\n"
        },
        "name": {
          "type": "string",
          "description": "Administrative Domain name.\n"
        },
        "performPolicyCheckBeforeEveryInstall": {
          "type": "boolean",
          "description": "True or False.\n"
        },
        "status": {
          "type": "integer",
          "description": "Adom status. 0 means off and 1 means on.\n"
        },
        "type": {
          "type": "string",
          "description": "Domain type, Enum: [\"FortiGate\", \"FortiCarrier], default is \"FortiCarrier\".\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemAdom resources.\n",
        "properties": {
          "actionWhenConflictsOccurDuringPolicyCheck": {
            "type": "string",
            "description": "True or False.\n"
          },
          "autoPushPolicyPackagesWhenDeviceBackOnline": {
            "type": "string",
            "description": "True or False.\n"
          },
          "centralManagementFortiap": {
            "type": "boolean",
            "description": "True or False.\n"
          },
          "centralManagementSdwan": {
            "type": "boolean",
            "description": "True or False.\n"
          },
          "centralManagementVpn": {
            "type": "boolean",
            "description": "True or False.\n"
          },
          "mode": {
            "type": "string",
            "description": "Adom mode: Normal or Backup.\n"
          },
          "name": {
            "type": "string",
            "description": "Administrative Domain name.\n"
          },
          "performPolicyCheckBeforeEveryInstall": {
            "type": "boolean",
            "description": "True or False.\n"
          },
          "status": {
            "type": "integer",
            "description": "Adom status. 0 means off and 1 means on.\n"
          },
          "type": {
            "type": "string",
            "description": "Domain type, Enum: [\"FortiGate\", \"FortiCarrier], default is \"FortiCarrier\".\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemDns:SystemDns": {
      "description": "This resource supports modifying system dns setting for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemDns(\"test1\", {\n    primary: \"208.91.112.52\",\n    secondary: \"208.91.112.54\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemDns(\"test1\",\n    primary=\"208.91.112.52\",\n    secondary=\"208.91.112.54\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemDns(\"test1\", new()\n    {\n        Primary = \"208.91.112.52\",\n        Secondary = \"208.91.112.54\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemDns(ctx, \"test1\", &fmg.SystemDnsArgs{\n\t\t\tPrimary:   pulumi.String(\"208.91.112.52\"),\n\t\t\tSecondary: pulumi.String(\"208.91.112.54\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemDns;\nimport com.pulumi.fortios.fmg.SystemDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemDns(\"test1\", SystemDnsArgs.builder()\n            .primary(\"208.91.112.52\")\n            .secondary(\"208.91.112.54\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemDns\n    properties:\n      primary: 208.91.112.52\n      secondary: 208.91.112.54\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "primary": {
          "type": "string",
          "description": "Primary DNS IP.\n"
        },
        "secondary": {
          "type": "string",
          "description": "Secondary DNS IP.\n"
        }
      },
      "type": "object",
      "inputProperties": {
        "primary": {
          "type": "string",
          "description": "Primary DNS IP.\n"
        },
        "secondary": {
          "type": "string",
          "description": "Secondary DNS IP.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemDns resources.\n",
        "properties": {
          "primary": {
            "type": "string",
            "description": "Primary DNS IP.\n"
          },
          "secondary": {
            "type": "string",
            "description": "Secondary DNS IP.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemGlobal:SystemGlobal": {
      "description": "This resource supports modifying system global setting for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemGlobal(\"test1\", {\n    adomMode: \"advanced\",\n    adomStatus: \"disable\",\n    fortianalyzerStatus: \"disable\",\n    hostname: \"FMG-VM64-test\",\n    timezone: \"09\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemGlobal(\"test1\",\n    adom_mode=\"advanced\",\n    adom_status=\"disable\",\n    fortianalyzer_status=\"disable\",\n    hostname=\"FMG-VM64-test\",\n    timezone=\"09\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemGlobal(\"test1\", new()\n    {\n        AdomMode = \"advanced\",\n        AdomStatus = \"disable\",\n        FortianalyzerStatus = \"disable\",\n        Hostname = \"FMG-VM64-test\",\n        Timezone = \"09\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemGlobal(ctx, \"test1\", &fmg.SystemGlobalArgs{\n\t\t\tAdomMode:            pulumi.String(\"advanced\"),\n\t\t\tAdomStatus:          pulumi.String(\"disable\"),\n\t\t\tFortianalyzerStatus: pulumi.String(\"disable\"),\n\t\t\tHostname:            pulumi.String(\"FMG-VM64-test\"),\n\t\t\tTimezone:            pulumi.String(\"09\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemGlobal;\nimport com.pulumi.fortios.fmg.SystemGlobalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemGlobal(\"test1\", SystemGlobalArgs.builder()\n            .adomMode(\"advanced\")\n            .adomStatus(\"disable\")\n            .fortianalyzerStatus(\"disable\")\n            .hostname(\"FMG-VM64-test\")\n            .timezone(\"09\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemGlobal\n    properties:\n      adomMode: advanced\n      adomStatus: disable\n      fortianalyzerStatus: disable\n      hostname: FMG-VM64-test\n      timezone: '09'\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adomMode": {
          "type": "string",
          "description": "Adom Mode.\n"
        },
        "adomStatus": {
          "type": "string",
          "description": "Enable/Disable ADOM.\n"
        },
        "fortianalyzerStatus": {
          "type": "string",
          "description": "Enable/Disable FortiAnalyzer feature.\n"
        },
        "hostname": {
          "type": "string",
          "description": "Hostname.\n"
        },
        "timezone": {
          "type": "string",
          "description": "TimeZone. 00 - (GMT-12:00) Eniwetak, Kwajalein.01 - (GMT-11:00) Midway Island, Samoa.02 - (GMT-10:00) Hawaii.03 - (GMT-9:00) Alaska.04 - (GMT-8:00) Pacific Time (US & Canada).05 - (GMT-7:00) Arizona.06 - (GMT-7:00) Mountain Time (US & Canada).07 - (GMT-6:00) Central America.08 - (GMT-6:00) Central Time (US & Canada).09 - (GMT-6:00) Mexico City.10 - (GMT-6:00) Saskatchewan.11 - (GMT-5:00) Bogota, Lima, Quito.12 - (GMT-5:00) Eastern Time (US & Canada).13 - (GMT-5:00) Indiana (East).14 - (GMT-4:00) Atlantic Time (Canada).15 - (GMT-4:00) La Paz.16 - (GMT-4:00) Santiago.17 - (GMT-3:30) Newfoundland.18 - (GMT-3:00) Brasilia.19 - (GMT-3:00) Buenos Aires, Georgetown.20 - (GMT-3:00) Nuuk (Greenland).21 - (GMT-2:00) Mid-Atlantic.22 - (GMT-1:00) Azores.23 - (GMT-1:00) Cape Verde Is.24 - (GMT) Monrovia.25 - (GMT) Greenwich Mean Time:Dublin, Edinburgh, Lisbon, London.26 - (GMT+1:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna.27 - (GMT+1:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague.28 - (GMT+1:00) Brussels, Copenhagen, Madrid, Paris.29 - (GMT+1:00) Sarajevo, Skopje, Warsaw, Zagreb.30 - (GMT+1:00) West Central Africa.31 - (GMT+2:00) Athens, Sofia, Vilnius.32 - (GMT+2:00) Bucharest.33 - (GMT+2:00) Cairo.34 - (GMT+2:00) Harare, Pretoria.35 - (GMT+2:00) Helsinki, Riga,Tallinn.36 - (GMT+2:00) Jerusalem.37 - (GMT+3:00) Baghdad.38 - (GMT+3:00) Kuwait, Riyadh.39 - (GMT+3:00) St.Petersburg, Volgograd.40 - (GMT+3:00) Nairobi.41 - (GMT+3:30) Tehran.42 - (GMT+4:00) Abu Dhabi, Muscat.43 - (GMT+4:00) Baku.44 - (GMT+4:30) Kabul.45 - (GMT+5:00) Ekaterinburg.46 - (GMT+5:00) Islamabad, Karachi,Tashkent.47 - (GMT+5:30) Calcutta, Chennai, Mumbai, New Delhi.48 - (GMT+5:45) Kathmandu.49 - (GMT+6:00) Almaty, Novosibirsk.50 - (GMT+6:00) Astana, Dhaka.51 - (GMT+6:00) Sri Jayawardenapura.52 - (GMT+6:30) Rangoon.53 - (GMT+7:00) Bangkok, Hanoi, Jakarta.54 - (GMT+7:00) Krasnoyarsk.55 - (GMT+8:00) Beijing,ChongQing, HongKong,Urumqi.56 - (GMT+8:00) Irkutsk, Ulaanbaatar.57 - (GMT+8:00) Kuala Lumpur, Singapore.58 - (GMT+8:00) Perth.59 - (GMT+8:00) Taipei.60 - (GMT+9:00) Osaka, Sapporo, Tokyo, Seoul.61 - (GMT+9:00) Yakutsk.62 - (GMT+9:30) Adelaide.63 - (GMT+9:30) Darwin.64 - (GMT+10:00) Brisbane.65 - (GMT+10:00) Canberra, Melbourne, Sydney.66 - (GMT+10:00) Guam, Port Moresby.67 - (GMT+10:00) Hobart.68 - (GMT+10:00) Vladivostok.69 - (GMT+11:00) Magadan.70 - (GMT+11:00) Solomon Is., New Caledonia.71 - (GMT+12:00) Auckland, Wellington.72 - (GMT+12:00) Fiji, Kamchatka, Marshall Is.73 - (GMT+13:00) Nuku'alofa.74 - (GMT-4:30) Caracas.75 - (GMT+1:00) Namibia.76 - (GMT-5:00) Brazil-Acre.77 - (GMT-4:00) Brazil-West.78 - (GMT-3:00) Brazil-East.79 - (GMT-2:00) Brazil-DeNoronha.80 - (GMT+14:00) Kiritimati.81 - (GMT-7:00) Baja California Sur, Chihuahua.82 - (GMT+12:45) Chatham Islands.83 - (GMT+3:00) Minsk.84 - (GMT+13:00) Samoa.85 - (GMT+3:00) Istanbul.86 - (GMT-4:00) Paraguay.87 - (GMT) Casablanca.88 - (GMT+3:00) Moscow.89 - (GMT) Greenwich Mean Time.\n"
        }
      },
      "type": "object",
      "inputProperties": {
        "adomMode": {
          "type": "string",
          "description": "Adom Mode.\n"
        },
        "adomStatus": {
          "type": "string",
          "description": "Enable/Disable ADOM.\n"
        },
        "fortianalyzerStatus": {
          "type": "string",
          "description": "Enable/Disable FortiAnalyzer feature.\n"
        },
        "hostname": {
          "type": "string",
          "description": "Hostname.\n"
        },
        "timezone": {
          "type": "string",
          "description": "TimeZone. 00 - (GMT-12:00) Eniwetak, Kwajalein.01 - (GMT-11:00) Midway Island, Samoa.02 - (GMT-10:00) Hawaii.03 - (GMT-9:00) Alaska.04 - (GMT-8:00) Pacific Time (US & Canada).05 - (GMT-7:00) Arizona.06 - (GMT-7:00) Mountain Time (US & Canada).07 - (GMT-6:00) Central America.08 - (GMT-6:00) Central Time (US & Canada).09 - (GMT-6:00) Mexico City.10 - (GMT-6:00) Saskatchewan.11 - (GMT-5:00) Bogota, Lima, Quito.12 - (GMT-5:00) Eastern Time (US & Canada).13 - (GMT-5:00) Indiana (East).14 - (GMT-4:00) Atlantic Time (Canada).15 - (GMT-4:00) La Paz.16 - (GMT-4:00) Santiago.17 - (GMT-3:30) Newfoundland.18 - (GMT-3:00) Brasilia.19 - (GMT-3:00) Buenos Aires, Georgetown.20 - (GMT-3:00) Nuuk (Greenland).21 - (GMT-2:00) Mid-Atlantic.22 - (GMT-1:00) Azores.23 - (GMT-1:00) Cape Verde Is.24 - (GMT) Monrovia.25 - (GMT) Greenwich Mean Time:Dublin, Edinburgh, Lisbon, London.26 - (GMT+1:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna.27 - (GMT+1:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague.28 - (GMT+1:00) Brussels, Copenhagen, Madrid, Paris.29 - (GMT+1:00) Sarajevo, Skopje, Warsaw, Zagreb.30 - (GMT+1:00) West Central Africa.31 - (GMT+2:00) Athens, Sofia, Vilnius.32 - (GMT+2:00) Bucharest.33 - (GMT+2:00) Cairo.34 - (GMT+2:00) Harare, Pretoria.35 - (GMT+2:00) Helsinki, Riga,Tallinn.36 - (GMT+2:00) Jerusalem.37 - (GMT+3:00) Baghdad.38 - (GMT+3:00) Kuwait, Riyadh.39 - (GMT+3:00) St.Petersburg, Volgograd.40 - (GMT+3:00) Nairobi.41 - (GMT+3:30) Tehran.42 - (GMT+4:00) Abu Dhabi, Muscat.43 - (GMT+4:00) Baku.44 - (GMT+4:30) Kabul.45 - (GMT+5:00) Ekaterinburg.46 - (GMT+5:00) Islamabad, Karachi,Tashkent.47 - (GMT+5:30) Calcutta, Chennai, Mumbai, New Delhi.48 - (GMT+5:45) Kathmandu.49 - (GMT+6:00) Almaty, Novosibirsk.50 - (GMT+6:00) Astana, Dhaka.51 - (GMT+6:00) Sri Jayawardenapura.52 - (GMT+6:30) Rangoon.53 - (GMT+7:00) Bangkok, Hanoi, Jakarta.54 - (GMT+7:00) Krasnoyarsk.55 - (GMT+8:00) Beijing,ChongQing, HongKong,Urumqi.56 - (GMT+8:00) Irkutsk, Ulaanbaatar.57 - (GMT+8:00) Kuala Lumpur, Singapore.58 - (GMT+8:00) Perth.59 - (GMT+8:00) Taipei.60 - (GMT+9:00) Osaka, Sapporo, Tokyo, Seoul.61 - (GMT+9:00) Yakutsk.62 - (GMT+9:30) Adelaide.63 - (GMT+9:30) Darwin.64 - (GMT+10:00) Brisbane.65 - (GMT+10:00) Canberra, Melbourne, Sydney.66 - (GMT+10:00) Guam, Port Moresby.67 - (GMT+10:00) Hobart.68 - (GMT+10:00) Vladivostok.69 - (GMT+11:00) Magadan.70 - (GMT+11:00) Solomon Is., New Caledonia.71 - (GMT+12:00) Auckland, Wellington.72 - (GMT+12:00) Fiji, Kamchatka, Marshall Is.73 - (GMT+13:00) Nuku'alofa.74 - (GMT-4:30) Caracas.75 - (GMT+1:00) Namibia.76 - (GMT-5:00) Brazil-Acre.77 - (GMT-4:00) Brazil-West.78 - (GMT-3:00) Brazil-East.79 - (GMT-2:00) Brazil-DeNoronha.80 - (GMT+14:00) Kiritimati.81 - (GMT-7:00) Baja California Sur, Chihuahua.82 - (GMT+12:45) Chatham Islands.83 - (GMT+3:00) Minsk.84 - (GMT+13:00) Samoa.85 - (GMT+3:00) Istanbul.86 - (GMT-4:00) Paraguay.87 - (GMT) Casablanca.88 - (GMT+3:00) Moscow.89 - (GMT) Greenwich Mean Time.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemGlobal resources.\n",
        "properties": {
          "adomMode": {
            "type": "string",
            "description": "Adom Mode.\n"
          },
          "adomStatus": {
            "type": "string",
            "description": "Enable/Disable ADOM.\n"
          },
          "fortianalyzerStatus": {
            "type": "string",
            "description": "Enable/Disable FortiAnalyzer feature.\n"
          },
          "hostname": {
            "type": "string",
            "description": "Hostname.\n"
          },
          "timezone": {
            "type": "string",
            "description": "TimeZone. 00 - (GMT-12:00) Eniwetak, Kwajalein.01 - (GMT-11:00) Midway Island, Samoa.02 - (GMT-10:00) Hawaii.03 - (GMT-9:00) Alaska.04 - (GMT-8:00) Pacific Time (US & Canada).05 - (GMT-7:00) Arizona.06 - (GMT-7:00) Mountain Time (US & Canada).07 - (GMT-6:00) Central America.08 - (GMT-6:00) Central Time (US & Canada).09 - (GMT-6:00) Mexico City.10 - (GMT-6:00) Saskatchewan.11 - (GMT-5:00) Bogota, Lima, Quito.12 - (GMT-5:00) Eastern Time (US & Canada).13 - (GMT-5:00) Indiana (East).14 - (GMT-4:00) Atlantic Time (Canada).15 - (GMT-4:00) La Paz.16 - (GMT-4:00) Santiago.17 - (GMT-3:30) Newfoundland.18 - (GMT-3:00) Brasilia.19 - (GMT-3:00) Buenos Aires, Georgetown.20 - (GMT-3:00) Nuuk (Greenland).21 - (GMT-2:00) Mid-Atlantic.22 - (GMT-1:00) Azores.23 - (GMT-1:00) Cape Verde Is.24 - (GMT) Monrovia.25 - (GMT) Greenwich Mean Time:Dublin, Edinburgh, Lisbon, London.26 - (GMT+1:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna.27 - (GMT+1:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague.28 - (GMT+1:00) Brussels, Copenhagen, Madrid, Paris.29 - (GMT+1:00) Sarajevo, Skopje, Warsaw, Zagreb.30 - (GMT+1:00) West Central Africa.31 - (GMT+2:00) Athens, Sofia, Vilnius.32 - (GMT+2:00) Bucharest.33 - (GMT+2:00) Cairo.34 - (GMT+2:00) Harare, Pretoria.35 - (GMT+2:00) Helsinki, Riga,Tallinn.36 - (GMT+2:00) Jerusalem.37 - (GMT+3:00) Baghdad.38 - (GMT+3:00) Kuwait, Riyadh.39 - (GMT+3:00) St.Petersburg, Volgograd.40 - (GMT+3:00) Nairobi.41 - (GMT+3:30) Tehran.42 - (GMT+4:00) Abu Dhabi, Muscat.43 - (GMT+4:00) Baku.44 - (GMT+4:30) Kabul.45 - (GMT+5:00) Ekaterinburg.46 - (GMT+5:00) Islamabad, Karachi,Tashkent.47 - (GMT+5:30) Calcutta, Chennai, Mumbai, New Delhi.48 - (GMT+5:45) Kathmandu.49 - (GMT+6:00) Almaty, Novosibirsk.50 - (GMT+6:00) Astana, Dhaka.51 - (GMT+6:00) Sri Jayawardenapura.52 - (GMT+6:30) Rangoon.53 - (GMT+7:00) Bangkok, Hanoi, Jakarta.54 - (GMT+7:00) Krasnoyarsk.55 - (GMT+8:00) Beijing,ChongQing, HongKong,Urumqi.56 - (GMT+8:00) Irkutsk, Ulaanbaatar.57 - (GMT+8:00) Kuala Lumpur, Singapore.58 - (GMT+8:00) Perth.59 - (GMT+8:00) Taipei.60 - (GMT+9:00) Osaka, Sapporo, Tokyo, Seoul.61 - (GMT+9:00) Yakutsk.62 - (GMT+9:30) Adelaide.63 - (GMT+9:30) Darwin.64 - (GMT+10:00) Brisbane.65 - (GMT+10:00) Canberra, Melbourne, Sydney.66 - (GMT+10:00) Guam, Port Moresby.67 - (GMT+10:00) Hobart.68 - (GMT+10:00) Vladivostok.69 - (GMT+11:00) Magadan.70 - (GMT+11:00) Solomon Is., New Caledonia.71 - (GMT+12:00) Auckland, Wellington.72 - (GMT+12:00) Fiji, Kamchatka, Marshall Is.73 - (GMT+13:00) Nuku'alofa.74 - (GMT-4:30) Caracas.75 - (GMT+1:00) Namibia.76 - (GMT-5:00) Brazil-Acre.77 - (GMT-4:00) Brazil-West.78 - (GMT-3:00) Brazil-East.79 - (GMT-2:00) Brazil-DeNoronha.80 - (GMT+14:00) Kiritimati.81 - (GMT-7:00) Baja California Sur, Chihuahua.82 - (GMT+12:45) Chatham Islands.83 - (GMT+3:00) Minsk.84 - (GMT+13:00) Samoa.85 - (GMT+3:00) Istanbul.86 - (GMT-4:00) Paraguay.87 - (GMT) Casablanca.88 - (GMT+3:00) Moscow.89 - (GMT) Greenwich Mean Time.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemLicenseForticare:SystemLicenseForticare": {
      "description": "This resource supports uploading FortiCare registration code to FortiGate through FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemLicenseForticare(\"test1\", {\n    registrationCode: \"jn3t3Nw7qckQzt955Htkfj5hwQ6aaa\",\n    target: \"fortigate-test\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemLicenseForticare(\"test1\",\n    registration_code=\"jn3t3Nw7qckQzt955Htkfj5hwQ6aaa\",\n    target=\"fortigate-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemLicenseForticare(\"test1\", new()\n    {\n        RegistrationCode = \"jn3t3Nw7qckQzt955Htkfj5hwQ6aaa\",\n        Target = \"fortigate-test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemLicenseForticare(ctx, \"test1\", &fmg.SystemLicenseForticareArgs{\n\t\t\tRegistrationCode: pulumi.String(\"jn3t3Nw7qckQzt955Htkfj5hwQ6aaa\"),\n\t\t\tTarget:           pulumi.String(\"fortigate-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemLicenseForticare;\nimport com.pulumi.fortios.fmg.SystemLicenseForticareArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemLicenseForticare(\"test1\", SystemLicenseForticareArgs.builder()\n            .registrationCode(\"jn3t3Nw7qckQzt955Htkfj5hwQ6aaa\")\n            .target(\"fortigate-test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemLicenseForticare\n    properties:\n      registrationCode: jn3t3Nw7qckQzt955Htkfj5hwQ6aaa\n      target: fortigate-test\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "ADOM that the target device belongs to. default is 'root'.\n"
        },
        "registrationCode": {
          "type": "string",
          "description": "Registration code.\n"
        },
        "target": {
          "type": "string",
          "description": "Target name, which is managed by FortiManager.\n"
        }
      },
      "type": "object",
      "required": [
        "registrationCode",
        "target"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "ADOM that the target device belongs to. default is 'root'.\n"
        },
        "registrationCode": {
          "type": "string",
          "description": "Registration code.\n"
        },
        "target": {
          "type": "string",
          "description": "Target name, which is managed by FortiManager.\n"
        }
      },
      "requiredInputs": [
        "registrationCode",
        "target"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemLicenseForticare resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "ADOM that the target device belongs to. default is 'root'.\n"
          },
          "registrationCode": {
            "type": "string",
            "description": "Registration code.\n"
          },
          "target": {
            "type": "string",
            "description": "Target name, which is managed by FortiManager.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemLicenseVm:SystemLicenseVm": {
      "description": "This resource supports uploading VM license to FortiGate through FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemLicenseVm(\"test1\", {\n    fileContent: \"XXX\",\n    target: \"fortigate-test\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemLicenseVm(\"test1\",\n    file_content=\"XXX\",\n    target=\"fortigate-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemLicenseVm(\"test1\", new()\n    {\n        FileContent = \"XXX\",\n        Target = \"fortigate-test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemLicenseVm(ctx, \"test1\", &fmg.SystemLicenseVmArgs{\n\t\t\tFileContent: pulumi.String(\"XXX\"),\n\t\t\tTarget:      pulumi.String(\"fortigate-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemLicenseVm;\nimport com.pulumi.fortios.fmg.SystemLicenseVmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemLicenseVm(\"test1\", SystemLicenseVmArgs.builder()\n            .fileContent(\"XXX\")\n            .target(\"fortigate-test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemLicenseVm\n    properties:\n      fileContent: XXX\n      # your license file content\n      target: fortigate-test\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "adom": {
          "type": "string",
          "description": "ADOM that the target device belongs to. default is 'root'.\n"
        },
        "fileContent": {
          "type": "string",
          "description": "The license file, it needs to be base64 encoded.\n"
        },
        "target": {
          "type": "string",
          "description": "Target name, which is managed by FortiManager.\n"
        }
      },
      "type": "object",
      "required": [
        "fileContent",
        "target"
      ],
      "inputProperties": {
        "adom": {
          "type": "string",
          "description": "ADOM that the target device belongs to. default is 'root'.\n"
        },
        "fileContent": {
          "type": "string",
          "description": "The license file, it needs to be base64 encoded.\n"
        },
        "target": {
          "type": "string",
          "description": "Target name, which is managed by FortiManager.\n"
        }
      },
      "requiredInputs": [
        "fileContent",
        "target"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemLicenseVm resources.\n",
        "properties": {
          "adom": {
            "type": "string",
            "description": "ADOM that the target device belongs to. default is 'root'.\n"
          },
          "fileContent": {
            "type": "string",
            "description": "The license file, it needs to be base64 encoded.\n"
          },
          "target": {
            "type": "string",
            "description": "Target name, which is managed by FortiManager.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemNetworkInterface:SystemNetworkInterface": {
      "description": "This resource supports updating system network interface for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemNetworkInterface(\"test1\", {\n    allowAccesses: [\n        \"ping\",\n        \"ssh\",\n        \"https\",\n        \"http\",\n    ],\n    description: \"\",\n    ip: \"1.1.1.3 255.255.255.0\",\n    serviceAccesses: [\n        \"webfilter\",\n        \"fgtupdates\",\n    ],\n    status: \"up\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemNetworkInterface(\"test1\",\n    allow_accesses=[\n        \"ping\",\n        \"ssh\",\n        \"https\",\n        \"http\",\n    ],\n    description=\"\",\n    ip=\"1.1.1.3 255.255.255.0\",\n    service_accesses=[\n        \"webfilter\",\n        \"fgtupdates\",\n    ],\n    status=\"up\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemNetworkInterface(\"test1\", new()\n    {\n        AllowAccesses = new[]\n        {\n            \"ping\",\n            \"ssh\",\n            \"https\",\n            \"http\",\n        },\n        Description = \"\",\n        Ip = \"1.1.1.3 255.255.255.0\",\n        ServiceAccesses = new[]\n        {\n            \"webfilter\",\n            \"fgtupdates\",\n        },\n        Status = \"up\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemNetworkInterface(ctx, \"test1\", &fmg.SystemNetworkInterfaceArgs{\n\t\t\tAllowAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ping\"),\n\t\t\t\tpulumi.String(\"ssh\"),\n\t\t\t\tpulumi.String(\"https\"),\n\t\t\t\tpulumi.String(\"http\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"\"),\n\t\t\tIp:          pulumi.String(\"1.1.1.3 255.255.255.0\"),\n\t\t\tServiceAccesses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"webfilter\"),\n\t\t\t\tpulumi.String(\"fgtupdates\"),\n\t\t\t},\n\t\t\tStatus: pulumi.String(\"up\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemNetworkInterface;\nimport com.pulumi.fortios.fmg.SystemNetworkInterfaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemNetworkInterface(\"test1\", SystemNetworkInterfaceArgs.builder()\n            .allowAccesses(            \n                \"ping\",\n                \"ssh\",\n                \"https\",\n                \"http\")\n            .description(\"\")\n            .ip(\"1.1.1.3 255.255.255.0\")\n            .serviceAccesses(            \n                \"webfilter\",\n                \"fgtupdates\")\n            .status(\"up\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemNetworkInterface\n    properties:\n      allowAccesses:\n        - ping\n        - ssh\n        - https\n        - http\n      description:\n      ip: 1.1.1.3 255.255.255.0\n      serviceAccesses:\n        - webfilter\n        - fgtupdates\n      status: up\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "allowAccesses": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Allow managerment access to interface, Enum: [\"ping\", \"https\", \"ssh\", \"snmp\", \"telnet\", \"http\", \"web\"]\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface Ipaddress.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface port.\n"
        },
        "serviceAccesses": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "status": {
          "type": "string",
          "description": "Interface status, Enum: [\"down\", \"up\"]\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "inputProperties": {
        "allowAccesses": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Allow managerment access to interface, Enum: [\"ping\", \"https\", \"ssh\", \"snmp\", \"telnet\", \"http\", \"web\"]\n"
        },
        "description": {
          "type": "string",
          "description": "Description.\n"
        },
        "ip": {
          "type": "string",
          "description": "Interface Ipaddress.\n"
        },
        "name": {
          "type": "string",
          "description": "Interface port.\n"
        },
        "serviceAccesses": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "status": {
          "type": "string",
          "description": "Interface status, Enum: [\"down\", \"up\"]\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemNetworkInterface resources.\n",
        "properties": {
          "allowAccesses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Allow managerment access to interface, Enum: [\"ping\", \"https\", \"ssh\", \"snmp\", \"telnet\", \"http\", \"web\"]\n"
          },
          "description": {
            "type": "string",
            "description": "Description.\n"
          },
          "ip": {
            "type": "string",
            "description": "Interface Ipaddress.\n"
          },
          "name": {
            "type": "string",
            "description": "Interface port.\n"
          },
          "serviceAccesses": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "description": "Interface status, Enum: [\"down\", \"up\"]\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemNetworkRoute:SystemNetworkRoute": {
      "description": "This resource supports updating system network route for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemNetworkRoute(\"test1\", {\n    destination: \"192.168.2.0 255.255.255.0\",\n    device: \"port4\",\n    gateway: \"192.168.2.1\",\n    routeId: 5,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemNetworkRoute(\"test1\",\n    destination=\"192.168.2.0 255.255.255.0\",\n    device=\"port4\",\n    gateway=\"192.168.2.1\",\n    route_id=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemNetworkRoute(\"test1\", new()\n    {\n        Destination = \"192.168.2.0 255.255.255.0\",\n        Device = \"port4\",\n        Gateway = \"192.168.2.1\",\n        RouteId = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemNetworkRoute(ctx, \"test1\", &fmg.SystemNetworkRouteArgs{\n\t\t\tDestination: pulumi.String(\"192.168.2.0 255.255.255.0\"),\n\t\t\tDevice:      pulumi.String(\"port4\"),\n\t\t\tGateway:     pulumi.String(\"192.168.2.1\"),\n\t\t\tRouteId:     pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemNetworkRoute;\nimport com.pulumi.fortios.fmg.SystemNetworkRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemNetworkRoute(\"test1\", SystemNetworkRouteArgs.builder()\n            .destination(\"192.168.2.0 255.255.255.0\")\n            .device(\"port4\")\n            .gateway(\"192.168.2.1\")\n            .routeId(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemNetworkRoute\n    properties:\n      destination: 192.168.2.0 255.255.255.0\n      device: port4\n      gateway: 192.168.2.1\n      routeId: 5\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "destination": {
          "type": "string",
          "description": "Destination Ip/Mask.\n"
        },
        "device": {
          "type": "string",
          "description": "Gateway out interface.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway Ip.\n"
        },
        "routeId": {
          "type": "integer",
          "description": "Route id.\n"
        }
      },
      "type": "object",
      "required": [
        "destination",
        "device",
        "gateway",
        "routeId"
      ],
      "inputProperties": {
        "destination": {
          "type": "string",
          "description": "Destination Ip/Mask.\n"
        },
        "device": {
          "type": "string",
          "description": "Gateway out interface.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway Ip.\n"
        },
        "routeId": {
          "type": "integer",
          "description": "Route id.\n"
        }
      },
      "requiredInputs": [
        "destination",
        "device",
        "gateway",
        "routeId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemNetworkRoute resources.\n",
        "properties": {
          "destination": {
            "type": "string",
            "description": "Destination Ip/Mask.\n"
          },
          "device": {
            "type": "string",
            "description": "Gateway out interface.\n"
          },
          "gateway": {
            "type": "string",
            "description": "Gateway Ip.\n"
          },
          "routeId": {
            "type": "integer",
            "description": "Route id.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemNtp:SystemNtp": {
      "description": "This resource supports modifying system ntp setting for FortiManager.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.fmg.SystemNtp(\"test1\", {\n    server: \"ntp1.fortinet.com\",\n    status: \"enable\",\n    syncInterval: 30,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.fmg.SystemNtp(\"test1\",\n    server=\"ntp1.fortinet.com\",\n    status=\"enable\",\n    sync_interval=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Fmg.SystemNtp(\"test1\", new()\n    {\n        Server = \"ntp1.fortinet.com\",\n        Status = \"enable\",\n        SyncInterval = 30,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/fmg\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := fmg.NewSystemNtp(ctx, \"test1\", &fmg.SystemNtpArgs{\n\t\t\tServer:       pulumi.String(\"ntp1.fortinet.com\"),\n\t\t\tStatus:       pulumi.String(\"enable\"),\n\t\t\tSyncInterval: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.fmg.SystemNtp;\nimport com.pulumi.fortios.fmg.SystemNtpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new SystemNtp(\"test1\", SystemNtpArgs.builder()\n            .server(\"ntp1.fortinet.com\")\n            .status(\"enable\")\n            .syncInterval(30)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:fmg:SystemNtp\n    properties:\n      server: ntp1.fortinet.com\n      status: enable\n      syncInterval: 30\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "server": {
          "type": "string",
          "description": "IP address/hostname of NTP Server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable NTP.\n"
        },
        "syncInterval": {
          "type": "integer",
          "description": "NTP sync interval (minute).\n"
        }
      },
      "type": "object",
      "required": [
        "server"
      ],
      "inputProperties": {
        "server": {
          "type": "string",
          "description": "IP address/hostname of NTP Server.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable NTP.\n"
        },
        "syncInterval": {
          "type": "integer",
          "description": "NTP sync interval (minute).\n"
        }
      },
      "requiredInputs": [
        "server"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemNtp resources.\n",
        "properties": {
          "server": {
            "type": "string",
            "description": "IP address/hostname of NTP Server.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable NTP.\n"
          },
          "syncInterval": {
            "type": "integer",
            "description": "NTP sync interval (minute).\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:fmg/systemSyslogserver:SystemSyslogserver": {
      "description": "This resource supports Create/Delete system syslog server for FortiManager.\n\n## Example Usage\n\n```hc\nresource \"fortios_fmg_system_syslogserver\" \"test1\" {\n  name = \"test-syslog\"\n  ip   = \"1.1.1.1\"\n  port = 99\n}\n```\n",
      "properties": {
        "ip": {
          "type": "string",
          "description": "Ipaddress of the syslog server.\n"
        },
        "name": {
          "type": "string",
          "description": "Syslog server name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port of the syslog server.\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "inputProperties": {
        "ip": {
          "type": "string",
          "description": "Ipaddress of the syslog server.\n"
        },
        "name": {
          "type": "string",
          "description": "Syslog server name.\n"
        },
        "port": {
          "type": "integer",
          "description": "Port of the syslog server.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SystemSyslogserver resources.\n",
        "properties": {
          "ip": {
            "type": "string",
            "description": "Ipaddress of the syslog server.\n"
          },
          "name": {
            "type": "string",
            "description": "Syslog server name.\n"
          },
          "port": {
            "type": "integer",
            "description": "Port of the syslog server.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:ftpproxy/explicit:Explicit": {
      "description": "Configure explicit FTP proxy settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.ftpproxy.Explicit(\"trname\", {\n    incomingIp: \"0.0.0.0\",\n    secDefaultAction: \"deny\",\n    status: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.ftpproxy.Explicit(\"trname\",\n    incoming_ip=\"0.0.0.0\",\n    sec_default_action=\"deny\",\n    status=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Ftpproxy.Explicit(\"trname\", new()\n    {\n        IncomingIp = \"0.0.0.0\",\n        SecDefaultAction = \"deny\",\n        Status = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/ftpproxy\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ftpproxy.NewExplicit(ctx, \"trname\", &ftpproxy.ExplicitArgs{\n\t\t\tIncomingIp:       pulumi.String(\"0.0.0.0\"),\n\t\t\tSecDefaultAction: pulumi.String(\"deny\"),\n\t\t\tStatus:           pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.ftpproxy.Explicit;\nimport com.pulumi.fortios.ftpproxy.ExplicitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Explicit(\"trname\", ExplicitArgs.builder()\n            .incomingIp(\"0.0.0.0\")\n            .secDefaultAction(\"deny\")\n            .status(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:ftpproxy:Explicit\n    properties:\n      incomingIp: 0.0.0.0\n      secDefaultAction: deny\n      status: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFtpProxy Explicit can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:ftpproxy/explicit:Explicit labelname FtpProxyExplicit\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:ftpproxy/explicit:Explicit labelname FtpProxyExplicit\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "incomingIp": {
          "type": "string",
          "description": "Accept incoming FTP requests from this IP address. An interface must have this IP address.\n"
        },
        "incomingPort": {
          "type": "string",
          "description": "Accept incoming FTP requests on one or more ports.\n"
        },
        "outgoingIp": {
          "type": "string",
          "description": "Outgoing FTP requests will leave from this IP address. An interface must have this IP address.\n"
        },
        "secDefaultAction": {
          "type": "string",
          "description": "Accept or deny explicit FTP proxy sessions when no FTP proxy firewall policy exists. Valid values: `accept`, `deny`.\n"
        },
        "serverDataMode": {
          "type": "string",
          "description": "Determine mode of data session on FTP server side. Valid values: `client`, `passive`.\n"
        },
        "ssl": {
          "type": "string",
          "description": "Enable/disable the explicit FTPS proxy. Valid values: `enable`, `disable`.\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Relative strength of encryption algorithms accepted in negotiation. Valid values: `high`, `medium`, `low`.\n"
        },
        "sslCert": {
          "type": "string",
          "description": "Name of certificate for SSL connections to this server. On FortiOS versions 6.2.4-7.4.0: default = \"Fortinet_CA_SSL\". On FortiOS versions 7.4.1: default = \"Fortinet_SSL\".\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Bit-size of Diffie-Hellman (DH) prime used in DHE-RSA negotiation (default = 2048). Valid values: `768`, `1024`, `1536`, `2048`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the explicit FTP proxy. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "incomingIp",
        "incomingPort",
        "outgoingIp",
        "secDefaultAction",
        "serverDataMode",
        "ssl",
        "sslAlgorithm",
        "sslCert",
        "sslDhBits",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "incomingIp": {
          "type": "string",
          "description": "Accept incoming FTP requests from this IP address. An interface must have this IP address.\n"
        },
        "incomingPort": {
          "type": "string",
          "description": "Accept incoming FTP requests on one or more ports.\n"
        },
        "outgoingIp": {
          "type": "string",
          "description": "Outgoing FTP requests will leave from this IP address. An interface must have this IP address.\n"
        },
        "secDefaultAction": {
          "type": "string",
          "description": "Accept or deny explicit FTP proxy sessions when no FTP proxy firewall policy exists. Valid values: `accept`, `deny`.\n"
        },
        "serverDataMode": {
          "type": "string",
          "description": "Determine mode of data session on FTP server side. Valid values: `client`, `passive`.\n"
        },
        "ssl": {
          "type": "string",
          "description": "Enable/disable the explicit FTPS proxy. Valid values: `enable`, `disable`.\n"
        },
        "sslAlgorithm": {
          "type": "string",
          "description": "Relative strength of encryption algorithms accepted in negotiation. Valid values: `high`, `medium`, `low`.\n"
        },
        "sslCert": {
          "type": "string",
          "description": "Name of certificate for SSL connections to this server. On FortiOS versions 6.2.4-7.4.0: default = \"Fortinet_CA_SSL\". On FortiOS versions 7.4.1: default = \"Fortinet_SSL\".\n"
        },
        "sslDhBits": {
          "type": "string",
          "description": "Bit-size of Diffie-Hellman (DH) prime used in DHE-RSA negotiation (default = 2048). Valid values: `768`, `1024`, `1536`, `2048`.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable the explicit FTP proxy. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Explicit resources.\n",
        "properties": {
          "incomingIp": {
            "type": "string",
            "description": "Accept incoming FTP requests from this IP address. An interface must have this IP address.\n"
          },
          "incomingPort": {
            "type": "string",
            "description": "Accept incoming FTP requests on one or more ports.\n"
          },
          "outgoingIp": {
            "type": "string",
            "description": "Outgoing FTP requests will leave from this IP address. An interface must have this IP address.\n"
          },
          "secDefaultAction": {
            "type": "string",
            "description": "Accept or deny explicit FTP proxy sessions when no FTP proxy firewall policy exists. Valid values: `accept`, `deny`.\n"
          },
          "serverDataMode": {
            "type": "string",
            "description": "Determine mode of data session on FTP server side. Valid values: `client`, `passive`.\n"
          },
          "ssl": {
            "type": "string",
            "description": "Enable/disable the explicit FTPS proxy. Valid values: `enable`, `disable`.\n"
          },
          "sslAlgorithm": {
            "type": "string",
            "description": "Relative strength of encryption algorithms accepted in negotiation. Valid values: `high`, `medium`, `low`.\n"
          },
          "sslCert": {
            "type": "string",
            "description": "Name of certificate for SSL connections to this server. On FortiOS versions 6.2.4-7.4.0: default = \"Fortinet_CA_SSL\". On FortiOS versions 7.4.1: default = \"Fortinet_SSL\".\n"
          },
          "sslDhBits": {
            "type": "string",
            "description": "Bit-size of Diffie-Hellman (DH) prime used in DHE-RSA negotiation (default = 2048). Valid values: `768`, `1024`, `1536`, `2048`.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable the explicit FTP proxy. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:icap/profile:Profile": {
      "description": "Configure ICAP profiles.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.icap.Profile(\"trname\", {\n    icapHeaders: [{\n        base64Encoding: \"disable\",\n        content: \"$user\",\n        name: \"X-Authenticated-User\",\n    }],\n    methods: \"delete get head options post put trace other\",\n    request: \"disable\",\n    requestFailure: \"error\",\n    response: \"disable\",\n    responseFailure: \"error\",\n    responseReqHdr: \"disable\",\n    streamingContentBypass: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.icap.Profile(\"trname\",\n    icap_headers=[fortios.icap.ProfileIcapHeaderArgs(\n        base64_encoding=\"disable\",\n        content=\"$user\",\n        name=\"X-Authenticated-User\",\n    )],\n    methods=\"delete get head options post put trace other\",\n    request=\"disable\",\n    request_failure=\"error\",\n    response=\"disable\",\n    response_failure=\"error\",\n    response_req_hdr=\"disable\",\n    streaming_content_bypass=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Icap.Profile(\"trname\", new()\n    {\n        IcapHeaders = new[]\n        {\n            new Fortios.Icap.Inputs.ProfileIcapHeaderArgs\n            {\n                Base64Encoding = \"disable\",\n                Content = \"$user\",\n                Name = \"X-Authenticated-User\",\n            },\n        },\n        Methods = \"delete get head options post put trace other\",\n        Request = \"disable\",\n        RequestFailure = \"error\",\n        Response = \"disable\",\n        ResponseFailure = \"error\",\n        ResponseReqHdr = \"disable\",\n        StreamingContentBypass = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/icap\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := icap.NewProfile(ctx, \"trname\", &icap.ProfileArgs{\n\t\t\tIcapHeaders: icap.ProfileIcapHeaderArray{\n\t\t\t\t&icap.ProfileIcapHeaderArgs{\n\t\t\t\t\tBase64Encoding: pulumi.String(\"disable\"),\n\t\t\t\t\tContent:        pulumi.String(\"$user\"),\n\t\t\t\t\tName:           pulumi.String(\"X-Authenticated-User\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMethods:                pulumi.String(\"delete get head options post put trace other\"),\n\t\t\tRequest:                pulumi.String(\"disable\"),\n\t\t\tRequestFailure:         pulumi.String(\"error\"),\n\t\t\tResponse:               pulumi.String(\"disable\"),\n\t\t\tResponseFailure:        pulumi.String(\"error\"),\n\t\t\tResponseReqHdr:         pulumi.String(\"disable\"),\n\t\t\tStreamingContentBypass: pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.icap.Profile;\nimport com.pulumi.fortios.icap.ProfileArgs;\nimport com.pulumi.fortios.icap.inputs.ProfileIcapHeaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Profile(\"trname\", ProfileArgs.builder()\n            .icapHeaders(ProfileIcapHeaderArgs.builder()\n                .base64Encoding(\"disable\")\n                .content(\"$user\")\n                .name(\"X-Authenticated-User\")\n                .build())\n            .methods(\"delete get head options post put trace other\")\n            .request(\"disable\")\n            .requestFailure(\"error\")\n            .response(\"disable\")\n            .responseFailure(\"error\")\n            .responseReqHdr(\"disable\")\n            .streamingContentBypass(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:icap:Profile\n    properties:\n      icapHeaders:\n        - base64Encoding: disable\n          content: $user\n          name: X-Authenticated-User\n      methods: delete get head options post put trace other\n      request: disable\n      requestFailure: error\n      response: disable\n      responseFailure: error\n      responseReqHdr: disable\n      streamingContentBypass: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nIcap Profile can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:icap/profile:Profile labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:icap/profile:Profile labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "chunkEncap": {
          "type": "string",
          "description": "Enable/disable chunked encapsulation (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extensionFeature": {
          "type": "string",
          "description": "Enable/disable ICAP extension features. Valid values: `scan-progress`.\n"
        },
        "fileTransfer": {
          "type": "string",
          "description": "Configure the file transfer protocols to pass transferred files to an ICAP server as REQMOD. Valid values: `ssh`, `ftp`.\n"
        },
        "fileTransferFailure": {
          "type": "string",
          "description": "Action to take if the ICAP server cannot be contacted when processing a file transfer. Valid values: `error`, `bypass`.\n"
        },
        "fileTransferPath": {
          "type": "string",
          "description": "Path component of the ICAP URI that identifies the file transfer processing service.\n"
        },
        "fileTransferServer": {
          "type": "string",
          "description": "ICAP server to use for a file transfer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "icapBlockLog": {
          "type": "string",
          "description": "Enable/disable UTM log when infection found (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "icapHeaders": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:icap%2FProfileIcapHeader:ProfileIcapHeader"
          },
          "description": "Configure ICAP forwarded request headers. The structure of `icap_headers` block is documented below.\n"
        },
        "methods": {
          "type": "string",
          "description": "The allowed HTTP methods that will be sent to ICAP server for further processing.\n"
        },
        "n204Response": {
          "type": "string",
          "description": "Enable/disable allowance of 204 response from ICAP server. Valid values: `disable`, `enable`.\n"
        },
        "n204SizeLimit": {
          "type": "integer",
          "description": "204 response size limit to be saved by ICAP client in megabytes (1 - 10, default = 1 MB).\n"
        },
        "name": {
          "type": "string",
          "description": "ICAP profile name.\n"
        },
        "preview": {
          "type": "string",
          "description": "Enable/disable preview of data to ICAP server. Valid values: `disable`, `enable`.\n"
        },
        "previewDataLength": {
          "type": "integer",
          "description": "Preview data length to be sent to ICAP server.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "request": {
          "type": "string",
          "description": "Enable/disable whether an HTTP request is passed to an ICAP server. Valid values: `disable`, `enable`.\n"
        },
        "requestFailure": {
          "type": "string",
          "description": "Action to take if the ICAP server cannot be contacted when processing an HTTP request. Valid values: `error`, `bypass`.\n"
        },
        "requestPath": {
          "type": "string",
          "description": "Path component of the ICAP URI that identifies the HTTP request processing service.\n"
        },
        "requestServer": {
          "type": "string",
          "description": "ICAP server to use for an HTTP request.\n"
        },
        "respmodDefaultAction": {
          "type": "string",
          "description": "Default action to ICAP response modification (respmod) processing. Valid values: `forward`, `bypass`.\n"
        },
        "respmodForwardRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:icap%2FProfileRespmodForwardRule:ProfileRespmodForwardRule"
          },
          "description": "ICAP response mode forward rules. The structure of `respmod_forward_rules` block is documented below.\n"
        },
        "response": {
          "type": "string",
          "description": "Enable/disable whether an HTTP response is passed to an ICAP server. Valid values: `disable`, `enable`.\n"
        },
        "responseFailure": {
          "type": "string",
          "description": "Action to take if the ICAP server cannot be contacted when processing an HTTP response. Valid values: `error`, `bypass`.\n"
        },
        "responsePath": {
          "type": "string",
          "description": "Path component of the ICAP URI that identifies the HTTP response processing service.\n"
        },
        "responseReqHdr": {
          "type": "string",
          "description": "Enable/disable addition of req-hdr for ICAP response modification (respmod) processing. Valid values: `disable`, `enable`.\n"
        },
        "responseServer": {
          "type": "string",
          "description": "ICAP server to use for an HTTP response.\n"
        },
        "scanProgressInterval": {
          "type": "integer",
          "description": "Scan progress interval value.\n"
        },
        "streamingContentBypass": {
          "type": "string",
          "description": "Enable/disable bypassing of ICAP server for streaming content. Valid values: `disable`, `enable`.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Time (in seconds) that ICAP client waits for the response from ICAP server.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "chunkEncap",
        "extensionFeature",
        "fileTransfer",
        "fileTransferFailure",
        "fileTransferPath",
        "fileTransferServer",
        "icapBlockLog",
        "methods",
        "n204Response",
        "n204SizeLimit",
        "name",
        "preview",
        "previewDataLength",
        "replacemsgGroup",
        "request",
        "requestFailure",
        "requestPath",
        "requestServer",
        "respmodDefaultAction",
        "response",
        "responseFailure",
        "responsePath",
        "responseReqHdr",
        "responseServer",
        "scanProgressInterval",
        "streamingContentBypass",
        "timeout",
        "vdomparam"
      ],
      "inputProperties": {
        "chunkEncap": {
          "type": "string",
          "description": "Enable/disable chunked encapsulation (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "extensionFeature": {
          "type": "string",
          "description": "Enable/disable ICAP extension features. Valid values: `scan-progress`.\n"
        },
        "fileTransfer": {
          "type": "string",
          "description": "Configure the file transfer protocols to pass transferred files to an ICAP server as REQMOD. Valid values: `ssh`, `ftp`.\n"
        },
        "fileTransferFailure": {
          "type": "string",
          "description": "Action to take if the ICAP server cannot be contacted when processing a file transfer. Valid values: `error`, `bypass`.\n"
        },
        "fileTransferPath": {
          "type": "string",
          "description": "Path component of the ICAP URI that identifies the file transfer processing service.\n"
        },
        "fileTransferServer": {
          "type": "string",
          "description": "ICAP server to use for a file transfer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "icapBlockLog": {
          "type": "string",
          "description": "Enable/disable UTM log when infection found (default = disable). Valid values: `disable`, `enable`.\n"
        },
        "icapHeaders": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:icap%2FProfileIcapHeader:ProfileIcapHeader"
          },
          "description": "Configure ICAP forwarded request headers. The structure of `icap_headers` block is documented below.\n"
        },
        "methods": {
          "type": "string",
          "description": "The allowed HTTP methods that will be sent to ICAP server for further processing.\n"
        },
        "n204Response": {
          "type": "string",
          "description": "Enable/disable allowance of 204 response from ICAP server. Valid values: `disable`, `enable`.\n"
        },
        "n204SizeLimit": {
          "type": "integer",
          "description": "204 response size limit to be saved by ICAP client in megabytes (1 - 10, default = 1 MB).\n"
        },
        "name": {
          "type": "string",
          "description": "ICAP profile name.\n",
          "willReplaceOnChanges": true
        },
        "preview": {
          "type": "string",
          "description": "Enable/disable preview of data to ICAP server. Valid values: `disable`, `enable`.\n"
        },
        "previewDataLength": {
          "type": "integer",
          "description": "Preview data length to be sent to ICAP server.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "request": {
          "type": "string",
          "description": "Enable/disable whether an HTTP request is passed to an ICAP server. Valid values: `disable`, `enable`.\n"
        },
        "requestFailure": {
          "type": "string",
          "description": "Action to take if the ICAP server cannot be contacted when processing an HTTP request. Valid values: `error`, `bypass`.\n"
        },
        "requestPath": {
          "type": "string",
          "description": "Path component of the ICAP URI that identifies the HTTP request processing service.\n"
        },
        "requestServer": {
          "type": "string",
          "description": "ICAP server to use for an HTTP request.\n"
        },
        "respmodDefaultAction": {
          "type": "string",
          "description": "Default action to ICAP response modification (respmod) processing. Valid values: `forward`, `bypass`.\n"
        },
        "respmodForwardRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:icap%2FProfileRespmodForwardRule:ProfileRespmodForwardRule"
          },
          "description": "ICAP response mode forward rules. The structure of `respmod_forward_rules` block is documented below.\n"
        },
        "response": {
          "type": "string",
          "description": "Enable/disable whether an HTTP response is passed to an ICAP server. Valid values: `disable`, `enable`.\n"
        },
        "responseFailure": {
          "type": "string",
          "description": "Action to take if the ICAP server cannot be contacted when processing an HTTP response. Valid values: `error`, `bypass`.\n"
        },
        "responsePath": {
          "type": "string",
          "description": "Path component of the ICAP URI that identifies the HTTP response processing service.\n"
        },
        "responseReqHdr": {
          "type": "string",
          "description": "Enable/disable addition of req-hdr for ICAP response modification (respmod) processing. Valid values: `disable`, `enable`.\n"
        },
        "responseServer": {
          "type": "string",
          "description": "ICAP server to use for an HTTP response.\n"
        },
        "scanProgressInterval": {
          "type": "integer",
          "description": "Scan progress interval value.\n"
        },
        "streamingContentBypass": {
          "type": "string",
          "description": "Enable/disable bypassing of ICAP server for streaming content. Valid values: `disable`, `enable`.\n"
        },
        "timeout": {
          "type": "integer",
          "description": "Time (in seconds) that ICAP client waits for the response from ICAP server.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Profile resources.\n",
        "properties": {
          "chunkEncap": {
            "type": "string",
            "description": "Enable/disable chunked encapsulation (default = disable). Valid values: `disable`, `enable`.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "extensionFeature": {
            "type": "string",
            "description": "Enable/disable ICAP extension features. Valid values: `scan-progress`.\n"
          },
          "fileTransfer": {
            "type": "string",
            "description": "Configure the file transfer protocols to pass transferred files to an ICAP server as REQMOD. Valid values: `ssh`, `ftp`.\n"
          },
          "fileTransferFailure": {
            "type": "string",
            "description": "Action to take if the ICAP server cannot be contacted when processing a file transfer. Valid values: `error`, `bypass`.\n"
          },
          "fileTransferPath": {
            "type": "string",
            "description": "Path component of the ICAP URI that identifies the file transfer processing service.\n"
          },
          "fileTransferServer": {
            "type": "string",
            "description": "ICAP server to use for a file transfer.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "icapBlockLog": {
            "type": "string",
            "description": "Enable/disable UTM log when infection found (default = disable). Valid values: `disable`, `enable`.\n"
          },
          "icapHeaders": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:icap%2FProfileIcapHeader:ProfileIcapHeader"
            },
            "description": "Configure ICAP forwarded request headers. The structure of `icap_headers` block is documented below.\n"
          },
          "methods": {
            "type": "string",
            "description": "The allowed HTTP methods that will be sent to ICAP server for further processing.\n"
          },
          "n204Response": {
            "type": "string",
            "description": "Enable/disable allowance of 204 response from ICAP server. Valid values: `disable`, `enable`.\n"
          },
          "n204SizeLimit": {
            "type": "integer",
            "description": "204 response size limit to be saved by ICAP client in megabytes (1 - 10, default = 1 MB).\n"
          },
          "name": {
            "type": "string",
            "description": "ICAP profile name.\n",
            "willReplaceOnChanges": true
          },
          "preview": {
            "type": "string",
            "description": "Enable/disable preview of data to ICAP server. Valid values: `disable`, `enable`.\n"
          },
          "previewDataLength": {
            "type": "integer",
            "description": "Preview data length to be sent to ICAP server.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group.\n"
          },
          "request": {
            "type": "string",
            "description": "Enable/disable whether an HTTP request is passed to an ICAP server. Valid values: `disable`, `enable`.\n"
          },
          "requestFailure": {
            "type": "string",
            "description": "Action to take if the ICAP server cannot be contacted when processing an HTTP request. Valid values: `error`, `bypass`.\n"
          },
          "requestPath": {
            "type": "string",
            "description": "Path component of the ICAP URI that identifies the HTTP request processing service.\n"
          },
          "requestServer": {
            "type": "string",
            "description": "ICAP server to use for an HTTP request.\n"
          },
          "respmodDefaultAction": {
            "type": "string",
            "description": "Default action to ICAP response modification (respmod) processing. Valid values: `forward`, `bypass`.\n"
          },
          "respmodForwardRules": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:icap%2FProfileRespmodForwardRule:ProfileRespmodForwardRule"
            },
            "description": "ICAP response mode forward rules. The structure of `respmod_forward_rules` block is documented below.\n"
          },
          "response": {
            "type": "string",
            "description": "Enable/disable whether an HTTP response is passed to an ICAP server. Valid values: `disable`, `enable`.\n"
          },
          "responseFailure": {
            "type": "string",
            "description": "Action to take if the ICAP server cannot be contacted when processing an HTTP response. Valid values: `error`, `bypass`.\n"
          },
          "responsePath": {
            "type": "string",
            "description": "Path component of the ICAP URI that identifies the HTTP response processing service.\n"
          },
          "responseReqHdr": {
            "type": "string",
            "description": "Enable/disable addition of req-hdr for ICAP response modification (respmod) processing. Valid values: `disable`, `enable`.\n"
          },
          "responseServer": {
            "type": "string",
            "description": "ICAP server to use for an HTTP response.\n"
          },
          "scanProgressInterval": {
            "type": "integer",
            "description": "Scan progress interval value.\n"
          },
          "streamingContentBypass": {
            "type": "string",
            "description": "Enable/disable bypassing of ICAP server for streaming content. Valid values: `disable`, `enable`.\n"
          },
          "timeout": {
            "type": "integer",
            "description": "Time (in seconds) that ICAP client waits for the response from ICAP server.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:icap/server:Server": {
      "description": "Configure ICAP servers.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.icap.Server(\"trname\", {\n    ip6Address: \"::\",\n    ipAddress: \"1.1.1.1\",\n    ipVersion: \"4\",\n    maxConnections: 100,\n    port: 22,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.icap.Server(\"trname\",\n    ip6_address=\"::\",\n    ip_address=\"1.1.1.1\",\n    ip_version=\"4\",\n    max_connections=100,\n    port=22)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Icap.Server(\"trname\", new()\n    {\n        Ip6Address = \"::\",\n        IpAddress = \"1.1.1.1\",\n        IpVersion = \"4\",\n        MaxConnections = 100,\n        Port = 22,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/icap\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := icap.NewServer(ctx, \"trname\", &icap.ServerArgs{\n\t\t\tIp6Address:     pulumi.String(\"::\"),\n\t\t\tIpAddress:      pulumi.String(\"1.1.1.1\"),\n\t\t\tIpVersion:      pulumi.String(\"4\"),\n\t\t\tMaxConnections: pulumi.Int(100),\n\t\t\tPort:           pulumi.Int(22),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.icap.Server;\nimport com.pulumi.fortios.icap.ServerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Server(\"trname\", ServerArgs.builder()\n            .ip6Address(\"::\")\n            .ipAddress(\"1.1.1.1\")\n            .ipVersion(\"4\")\n            .maxConnections(100)\n            .port(22)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:icap:Server\n    properties:\n      ip6Address: '::'\n      ipAddress: 1.1.1.1\n      ipVersion: '4'\n      maxConnections: 100\n      port: 22\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nIcap Server can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:icap/server:Server labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:icap/server:Server labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "addrType": {
          "type": "string",
          "description": "Address type of the remote ICAP server: IPv4, IPv6 or FQDN. Valid values: `ip4`, `ip6`, `fqdn`.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "ICAP remote server Fully Qualified Domain Name (FQDN).\n"
        },
        "healthcheck": {
          "type": "string",
          "description": "Enable/disable ICAP remote server health checking. Attempts to connect to the remote ICAP server to verify that the server is operating normally. Valid values: `disable`, `enable`.\n"
        },
        "healthcheckService": {
          "type": "string",
          "description": "ICAP Service name to use for health checks.\n"
        },
        "ip6Address": {
          "type": "string",
          "description": "IPv6 address of the ICAP server.\n"
        },
        "ipAddress": {
          "type": "string",
          "description": "IPv4 address of the ICAP server.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version. Valid values: `4`, `6`.\n"
        },
        "maxConnections": {
          "type": "integer",
          "description": "Maximum number of concurrent connections to ICAP server. Must not be less than wad-worker-count.\n"
        },
        "name": {
          "type": "string",
          "description": "Server name.\n"
        },
        "port": {
          "type": "integer",
          "description": "ICAP server port.\n"
        },
        "secure": {
          "type": "string",
          "description": "Enable/disable secure connection to ICAP server. Valid values: `enable`, `disable`.\n"
        },
        "sslCert": {
          "type": "string",
          "description": "CA certificate name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "addrType",
        "fqdn",
        "healthcheck",
        "healthcheckService",
        "ip6Address",
        "ipAddress",
        "ipVersion",
        "maxConnections",
        "name",
        "port",
        "secure",
        "sslCert",
        "vdomparam"
      ],
      "inputProperties": {
        "addrType": {
          "type": "string",
          "description": "Address type of the remote ICAP server: IPv4, IPv6 or FQDN. Valid values: `ip4`, `ip6`, `fqdn`.\n"
        },
        "fqdn": {
          "type": "string",
          "description": "ICAP remote server Fully Qualified Domain Name (FQDN).\n"
        },
        "healthcheck": {
          "type": "string",
          "description": "Enable/disable ICAP remote server health checking. Attempts to connect to the remote ICAP server to verify that the server is operating normally. Valid values: `disable`, `enable`.\n"
        },
        "healthcheckService": {
          "type": "string",
          "description": "ICAP Service name to use for health checks.\n"
        },
        "ip6Address": {
          "type": "string",
          "description": "IPv6 address of the ICAP server.\n"
        },
        "ipAddress": {
          "type": "string",
          "description": "IPv4 address of the ICAP server.\n"
        },
        "ipVersion": {
          "type": "string",
          "description": "IP version. Valid values: `4`, `6`.\n"
        },
        "maxConnections": {
          "type": "integer",
          "description": "Maximum number of concurrent connections to ICAP server. Must not be less than wad-worker-count.\n"
        },
        "name": {
          "type": "string",
          "description": "Server name.\n",
          "willReplaceOnChanges": true
        },
        "port": {
          "type": "integer",
          "description": "ICAP server port.\n"
        },
        "secure": {
          "type": "string",
          "description": "Enable/disable secure connection to ICAP server. Valid values: `enable`, `disable`.\n"
        },
        "sslCert": {
          "type": "string",
          "description": "CA certificate name.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Server resources.\n",
        "properties": {
          "addrType": {
            "type": "string",
            "description": "Address type of the remote ICAP server: IPv4, IPv6 or FQDN. Valid values: `ip4`, `ip6`, `fqdn`.\n"
          },
          "fqdn": {
            "type": "string",
            "description": "ICAP remote server Fully Qualified Domain Name (FQDN).\n"
          },
          "healthcheck": {
            "type": "string",
            "description": "Enable/disable ICAP remote server health checking. Attempts to connect to the remote ICAP server to verify that the server is operating normally. Valid values: `disable`, `enable`.\n"
          },
          "healthcheckService": {
            "type": "string",
            "description": "ICAP Service name to use for health checks.\n"
          },
          "ip6Address": {
            "type": "string",
            "description": "IPv6 address of the ICAP server.\n"
          },
          "ipAddress": {
            "type": "string",
            "description": "IPv4 address of the ICAP server.\n"
          },
          "ipVersion": {
            "type": "string",
            "description": "IP version. Valid values: `4`, `6`.\n"
          },
          "maxConnections": {
            "type": "integer",
            "description": "Maximum number of concurrent connections to ICAP server. Must not be less than wad-worker-count.\n"
          },
          "name": {
            "type": "string",
            "description": "Server name.\n",
            "willReplaceOnChanges": true
          },
          "port": {
            "type": "integer",
            "description": "ICAP server port.\n"
          },
          "secure": {
            "type": "string",
            "description": "Enable/disable secure connection to ICAP server. Valid values: `enable`, `disable`.\n"
          },
          "sslCert": {
            "type": "string",
            "description": "CA certificate name.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:icap/servergroup:Servergroup": {
      "description": "Configure an ICAP server group consisting of multiple forward servers. Supports failover and load balancing. Applies to FortiOS Version `>= 7.2.0`.\n\n## Import\n\nIcap ServerGroup can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:icap/servergroup:Servergroup labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:icap/servergroup:Servergroup labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Load balance method. Valid values: `weighted`, `least-session`, `active-passive`.\n"
        },
        "name": {
          "type": "string",
          "description": "Configure an ICAP server group consisting one or multiple forward servers. Supports failover and load balancing.\n"
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:icap%2FServergroupServerList:ServergroupServerList"
          },
          "description": "Add ICAP servers to a list to form a server group. Optionally assign weights to each server. The structure of `server_list` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "ldbMethod",
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "ldbMethod": {
          "type": "string",
          "description": "Load balance method. Valid values: `weighted`, `least-session`, `active-passive`.\n"
        },
        "name": {
          "type": "string",
          "description": "Configure an ICAP server group consisting one or multiple forward servers. Supports failover and load balancing.\n",
          "willReplaceOnChanges": true
        },
        "serverLists": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:icap%2FServergroupServerList:ServergroupServerList"
          },
          "description": "Add ICAP servers to a list to form a server group. Optionally assign weights to each server. The structure of `server_list` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Servergroup resources.\n",
        "properties": {
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "ldbMethod": {
            "type": "string",
            "description": "Load balance method. Valid values: `weighted`, `least-session`, `active-passive`.\n"
          },
          "name": {
            "type": "string",
            "description": "Configure an ICAP server group consisting one or multiple forward servers. Supports failover and load balancing.\n",
            "willReplaceOnChanges": true
          },
          "serverLists": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:icap%2FServergroupServerList:ServergroupServerList"
            },
            "description": "Add ICAP servers to a list to form a server group. Optionally assign weights to each server. The structure of `server_list` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:ips/custom:Custom": {
      "description": "Configure IPS custom signature.\n\n## Import\n\nIps Custom can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:ips/custom:Custom labelname {{tag}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:ips/custom:Custom labelname {{tag}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Default action (pass or block) for this signature. Valid values: `pass`, `block`.\n"
        },
        "application": {
          "type": "string",
          "description": "Applications to be protected. Blank for all applications.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "location": {
          "type": "string",
          "description": "Protect client or server traffic.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `disable`, `enable`.\n"
        },
        "logPacket": {
          "type": "string",
          "description": "Enable/disable packet logging. Valid values: `disable`, `enable`.\n"
        },
        "os": {
          "type": "string",
          "description": "Operating system(s) that the signature protects. Blank for all operating systems.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol(s) that the signature scans. Blank for all protocols.\n"
        },
        "ruleId": {
          "type": "integer",
          "description": "Signature ID.\n"
        },
        "severity": {
          "type": "string",
          "description": "Relative severity of the signature, from info to critical. Log messages generated by the signature include the severity.\n"
        },
        "sigName": {
          "type": "string",
          "description": "Signature name.\n"
        },
        "signature": {
          "type": "string",
          "description": "Custom signature enclosed in single quotes.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this signature. Valid values: `disable`, `enable`.\n"
        },
        "tag": {
          "type": "string",
          "description": "Signature tag.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "application",
        "comment",
        "location",
        "log",
        "logPacket",
        "os",
        "protocol",
        "ruleId",
        "severity",
        "sigName",
        "signature",
        "status",
        "tag",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Default action (pass or block) for this signature. Valid values: `pass`, `block`.\n"
        },
        "application": {
          "type": "string",
          "description": "Applications to be protected. Blank for all applications.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "location": {
          "type": "string",
          "description": "Protect client or server traffic.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `disable`, `enable`.\n"
        },
        "logPacket": {
          "type": "string",
          "description": "Enable/disable packet logging. Valid values: `disable`, `enable`.\n"
        },
        "os": {
          "type": "string",
          "description": "Operating system(s) that the signature protects. Blank for all operating systems.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Protocol(s) that the signature scans. Blank for all protocols.\n"
        },
        "ruleId": {
          "type": "integer",
          "description": "Signature ID.\n"
        },
        "severity": {
          "type": "string",
          "description": "Relative severity of the signature, from info to critical. Log messages generated by the signature include the severity.\n"
        },
        "sigName": {
          "type": "string",
          "description": "Signature name.\n"
        },
        "signature": {
          "type": "string",
          "description": "Custom signature enclosed in single quotes.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable this signature. Valid values: `disable`, `enable`.\n"
        },
        "tag": {
          "type": "string",
          "description": "Signature tag.\n",
          "willReplaceOnChanges": true
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Custom resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Default action (pass or block) for this signature. Valid values: `pass`, `block`.\n"
          },
          "application": {
            "type": "string",
            "description": "Applications to be protected. Blank for all applications.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "location": {
            "type": "string",
            "description": "Protect client or server traffic.\n"
          },
          "log": {
            "type": "string",
            "description": "Enable/disable logging. Valid values: `disable`, `enable`.\n"
          },
          "logPacket": {
            "type": "string",
            "description": "Enable/disable packet logging. Valid values: `disable`, `enable`.\n"
          },
          "os": {
            "type": "string",
            "description": "Operating system(s) that the signature protects. Blank for all operating systems.\n"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol(s) that the signature scans. Blank for all protocols.\n"
          },
          "ruleId": {
            "type": "integer",
            "description": "Signature ID.\n"
          },
          "severity": {
            "type": "string",
            "description": "Relative severity of the signature, from info to critical. Log messages generated by the signature include the severity.\n"
          },
          "sigName": {
            "type": "string",
            "description": "Signature name.\n"
          },
          "signature": {
            "type": "string",
            "description": "Custom signature enclosed in single quotes.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable this signature. Valid values: `disable`, `enable`.\n"
          },
          "tag": {
            "type": "string",
            "description": "Signature tag.\n",
            "willReplaceOnChanges": true
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:ips/decoder:Decoder": {
      "description": "Configure IPS decoder.\n\n## Import\n\nIps Decoder can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:ips/decoder:Decoder labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:ips/decoder:Decoder labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Decoder name.\n"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FDecoderParameter:DecoderParameter"
          },
          "description": "IPS group parameters. The structure of `parameter` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "vdomparam"
      ],
      "inputProperties": {
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Decoder name.\n",
          "willReplaceOnChanges": true
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FDecoderParameter:DecoderParameter"
          },
          "description": "IPS group parameters. The structure of `parameter` block is documented below.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Decoder resources.\n",
        "properties": {
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Decoder name.\n",
            "willReplaceOnChanges": true
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:ips%2FDecoderParameter:DecoderParameter"
            },
            "description": "IPS group parameters. The structure of `parameter` block is documented below.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:ips/global:Global": {
      "description": "Configure IPS global parameter.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.ips.Global(\"trname\", {\n    anomalyMode: \"continuous\",\n    database: \"regular\",\n    deepAppInspDbLimit: 0,\n    deepAppInspTimeout: 0,\n    engineCount: 0,\n    excludeSignatures: \"industrial\",\n    failOpen: \"disable\",\n    intelligentMode: \"enable\",\n    sessionLimitMode: \"heuristic\",\n    socketSize: 0,\n    syncSessionTtl: \"enable\",\n    trafficSubmit: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.ips.Global(\"trname\",\n    anomaly_mode=\"continuous\",\n    database=\"regular\",\n    deep_app_insp_db_limit=0,\n    deep_app_insp_timeout=0,\n    engine_count=0,\n    exclude_signatures=\"industrial\",\n    fail_open=\"disable\",\n    intelligent_mode=\"enable\",\n    session_limit_mode=\"heuristic\",\n    socket_size=0,\n    sync_session_ttl=\"enable\",\n    traffic_submit=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Ips.Global(\"trname\", new()\n    {\n        AnomalyMode = \"continuous\",\n        Database = \"regular\",\n        DeepAppInspDbLimit = 0,\n        DeepAppInspTimeout = 0,\n        EngineCount = 0,\n        ExcludeSignatures = \"industrial\",\n        FailOpen = \"disable\",\n        IntelligentMode = \"enable\",\n        SessionLimitMode = \"heuristic\",\n        SocketSize = 0,\n        SyncSessionTtl = \"enable\",\n        TrafficSubmit = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/ips\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ips.NewGlobal(ctx, \"trname\", &ips.GlobalArgs{\n\t\t\tAnomalyMode:        pulumi.String(\"continuous\"),\n\t\t\tDatabase:           pulumi.String(\"regular\"),\n\t\t\tDeepAppInspDbLimit: pulumi.Int(0),\n\t\t\tDeepAppInspTimeout: pulumi.Int(0),\n\t\t\tEngineCount:        pulumi.Int(0),\n\t\t\tExcludeSignatures:  pulumi.String(\"industrial\"),\n\t\t\tFailOpen:           pulumi.String(\"disable\"),\n\t\t\tIntelligentMode:    pulumi.String(\"enable\"),\n\t\t\tSessionLimitMode:   pulumi.String(\"heuristic\"),\n\t\t\tSocketSize:         pulumi.Int(0),\n\t\t\tSyncSessionTtl:     pulumi.String(\"enable\"),\n\t\t\tTrafficSubmit:      pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.ips.Global;\nimport com.pulumi.fortios.ips.GlobalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Global(\"trname\", GlobalArgs.builder()\n            .anomalyMode(\"continuous\")\n            .database(\"regular\")\n            .deepAppInspDbLimit(0)\n            .deepAppInspTimeout(0)\n            .engineCount(0)\n            .excludeSignatures(\"industrial\")\n            .failOpen(\"disable\")\n            .intelligentMode(\"enable\")\n            .sessionLimitMode(\"heuristic\")\n            .socketSize(0)\n            .syncSessionTtl(\"enable\")\n            .trafficSubmit(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:ips:Global\n    properties:\n      anomalyMode: continuous\n      database: regular\n      deepAppInspDbLimit: 0\n      deepAppInspTimeout: 0\n      engineCount: 0\n      excludeSignatures: industrial\n      failOpen: disable\n      intelligentMode: enable\n      sessionLimitMode: heuristic\n      socketSize: 0\n      syncSessionTtl: enable\n      trafficSubmit: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nIps Global can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:ips/global:Global labelname IpsGlobal\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:ips/global:Global labelname IpsGlobal\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomalyMode": {
          "type": "string",
          "description": "Global blocking mode for rate-based anomalies. Valid values: `periodical`, `continuous`.\n"
        },
        "avMemLimit": {
          "type": "integer",
          "description": "Maximum percentage of system memory allowed for use on AV scanning (10 - 50, default = zero). To disable set to zero. When disabled, there is no limit on the AV memory usage.\n"
        },
        "cpAccelMode": {
          "type": "string",
          "description": "IPS Pattern matching acceleration/offloading to CPx processors. Valid values: `none`, `basic`, `advanced`.\n"
        },
        "database": {
          "type": "string",
          "description": "Regular or extended IPS database. Regular protects against the latest common and in-the-wild attacks. Extended includes protection from legacy attacks. Valid values: `regular`, `extended`.\n"
        },
        "deepAppInspDbLimit": {
          "type": "integer",
          "description": "Limit on number of entries in deep application inspection database (1 - 2147483647, use recommended setting = 0).\n"
        },
        "deepAppInspTimeout": {
          "type": "integer",
          "description": "Timeout for Deep application inspection (1 - 2147483647 sec., 0 = use recommended setting).\n"
        },
        "engineCount": {
          "type": "integer",
          "description": "Number of IPS engines running. If set to the default value of 0, FortiOS sets the number to optimize performance depending on the number of CPU cores.\n"
        },
        "excludeSignatures": {
          "type": "string",
          "description": "Excluded signatures.\n"
        },
        "failOpen": {
          "type": "string",
          "description": "Enable to allow traffic if the IPS process crashes. Default is disable and IPS traffic is blocked when the IPS process crashes. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "intelligentMode": {
          "type": "string",
          "description": "Enable/disable IPS adaptive scanning (intelligent mode). Intelligent mode optimizes the scanning method for the type of traffic. Valid values: `enable`, `disable`.\n"
        },
        "ipsReserveCpu": {
          "type": "string",
          "description": "Enable/disable IPS daemon's use of CPUs other than CPU 0 Valid values: `disable`, `enable`.\n"
        },
        "ngfwMaxScanRange": {
          "type": "integer",
          "description": "NGFW policy-mode app detection threshold.\n"
        },
        "npAccelMode": {
          "type": "string",
          "description": "Acceleration mode for IPS processing by NPx processors. Valid values: `none`, `basic`.\n"
        },
        "packetLogQueueDepth": {
          "type": "integer",
          "description": "Packet/pcap log queue depth per IPS engine.\n"
        },
        "sessionLimitMode": {
          "type": "string",
          "description": "Method of counting concurrent sessions used by session limit anomalies. Choose between greater accuracy (accurate) or improved performance (heuristics). Valid values: `accurate`, `heuristic`.\n"
        },
        "skypeClientPublicIpaddr": {
          "type": "string",
          "description": "Public IP addresses of your network that receive Skype sessions. Helps identify Skype sessions. Separate IP addresses with commas.\n"
        },
        "socketSize": {
          "type": "integer",
          "description": "IPS socket buffer size. Max and default value depend on available memory. Can be changed to tune performance.\n"
        },
        "syncSessionTtl": {
          "type": "string",
          "description": "Enable/disable use of kernel session TTL for IPS sessions. Valid values: `enable`, `disable`.\n"
        },
        "tlsActiveProbe": {
          "$ref": "#/types/fortios:ips%2FGlobalTlsActiveProbe:GlobalTlsActiveProbe",
          "description": "TLS active probe configuration. The structure of `tls_active_probe` block is documented below.\n"
        },
        "trafficSubmit": {
          "type": "string",
          "description": "Enable/disable submitting attack data found by this FortiGate to FortiGuard. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "anomalyMode",
        "avMemLimit",
        "cpAccelMode",
        "database",
        "deepAppInspDbLimit",
        "deepAppInspTimeout",
        "engineCount",
        "excludeSignatures",
        "failOpen",
        "intelligentMode",
        "ipsReserveCpu",
        "ngfwMaxScanRange",
        "npAccelMode",
        "packetLogQueueDepth",
        "sessionLimitMode",
        "socketSize",
        "syncSessionTtl",
        "tlsActiveProbe",
        "trafficSubmit",
        "vdomparam"
      ],
      "inputProperties": {
        "anomalyMode": {
          "type": "string",
          "description": "Global blocking mode for rate-based anomalies. Valid values: `periodical`, `continuous`.\n"
        },
        "avMemLimit": {
          "type": "integer",
          "description": "Maximum percentage of system memory allowed for use on AV scanning (10 - 50, default = zero). To disable set to zero. When disabled, there is no limit on the AV memory usage.\n"
        },
        "cpAccelMode": {
          "type": "string",
          "description": "IPS Pattern matching acceleration/offloading to CPx processors. Valid values: `none`, `basic`, `advanced`.\n"
        },
        "database": {
          "type": "string",
          "description": "Regular or extended IPS database. Regular protects against the latest common and in-the-wild attacks. Extended includes protection from legacy attacks. Valid values: `regular`, `extended`.\n"
        },
        "deepAppInspDbLimit": {
          "type": "integer",
          "description": "Limit on number of entries in deep application inspection database (1 - 2147483647, use recommended setting = 0).\n"
        },
        "deepAppInspTimeout": {
          "type": "integer",
          "description": "Timeout for Deep application inspection (1 - 2147483647 sec., 0 = use recommended setting).\n"
        },
        "engineCount": {
          "type": "integer",
          "description": "Number of IPS engines running. If set to the default value of 0, FortiOS sets the number to optimize performance depending on the number of CPU cores.\n"
        },
        "excludeSignatures": {
          "type": "string",
          "description": "Excluded signatures.\n"
        },
        "failOpen": {
          "type": "string",
          "description": "Enable to allow traffic if the IPS process crashes. Default is disable and IPS traffic is blocked when the IPS process crashes. Valid values: `enable`, `disable`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "intelligentMode": {
          "type": "string",
          "description": "Enable/disable IPS adaptive scanning (intelligent mode). Intelligent mode optimizes the scanning method for the type of traffic. Valid values: `enable`, `disable`.\n"
        },
        "ipsReserveCpu": {
          "type": "string",
          "description": "Enable/disable IPS daemon's use of CPUs other than CPU 0 Valid values: `disable`, `enable`.\n"
        },
        "ngfwMaxScanRange": {
          "type": "integer",
          "description": "NGFW policy-mode app detection threshold.\n"
        },
        "npAccelMode": {
          "type": "string",
          "description": "Acceleration mode for IPS processing by NPx processors. Valid values: `none`, `basic`.\n"
        },
        "packetLogQueueDepth": {
          "type": "integer",
          "description": "Packet/pcap log queue depth per IPS engine.\n"
        },
        "sessionLimitMode": {
          "type": "string",
          "description": "Method of counting concurrent sessions used by session limit anomalies. Choose between greater accuracy (accurate) or improved performance (heuristics). Valid values: `accurate`, `heuristic`.\n"
        },
        "skypeClientPublicIpaddr": {
          "type": "string",
          "description": "Public IP addresses of your network that receive Skype sessions. Helps identify Skype sessions. Separate IP addresses with commas.\n"
        },
        "socketSize": {
          "type": "integer",
          "description": "IPS socket buffer size. Max and default value depend on available memory. Can be changed to tune performance.\n"
        },
        "syncSessionTtl": {
          "type": "string",
          "description": "Enable/disable use of kernel session TTL for IPS sessions. Valid values: `enable`, `disable`.\n"
        },
        "tlsActiveProbe": {
          "$ref": "#/types/fortios:ips%2FGlobalTlsActiveProbe:GlobalTlsActiveProbe",
          "description": "TLS active probe configuration. The structure of `tls_active_probe` block is documented below.\n"
        },
        "trafficSubmit": {
          "type": "string",
          "description": "Enable/disable submitting attack data found by this FortiGate to FortiGuard. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Global resources.\n",
        "properties": {
          "anomalyMode": {
            "type": "string",
            "description": "Global blocking mode for rate-based anomalies. Valid values: `periodical`, `continuous`.\n"
          },
          "avMemLimit": {
            "type": "integer",
            "description": "Maximum percentage of system memory allowed for use on AV scanning (10 - 50, default = zero). To disable set to zero. When disabled, there is no limit on the AV memory usage.\n"
          },
          "cpAccelMode": {
            "type": "string",
            "description": "IPS Pattern matching acceleration/offloading to CPx processors. Valid values: `none`, `basic`, `advanced`.\n"
          },
          "database": {
            "type": "string",
            "description": "Regular or extended IPS database. Regular protects against the latest common and in-the-wild attacks. Extended includes protection from legacy attacks. Valid values: `regular`, `extended`.\n"
          },
          "deepAppInspDbLimit": {
            "type": "integer",
            "description": "Limit on number of entries in deep application inspection database (1 - 2147483647, use recommended setting = 0).\n"
          },
          "deepAppInspTimeout": {
            "type": "integer",
            "description": "Timeout for Deep application inspection (1 - 2147483647 sec., 0 = use recommended setting).\n"
          },
          "engineCount": {
            "type": "integer",
            "description": "Number of IPS engines running. If set to the default value of 0, FortiOS sets the number to optimize performance depending on the number of CPU cores.\n"
          },
          "excludeSignatures": {
            "type": "string",
            "description": "Excluded signatures.\n"
          },
          "failOpen": {
            "type": "string",
            "description": "Enable to allow traffic if the IPS process crashes. Default is disable and IPS traffic is blocked when the IPS process crashes. Valid values: `enable`, `disable`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "intelligentMode": {
            "type": "string",
            "description": "Enable/disable IPS adaptive scanning (intelligent mode). Intelligent mode optimizes the scanning method for the type of traffic. Valid values: `enable`, `disable`.\n"
          },
          "ipsReserveCpu": {
            "type": "string",
            "description": "Enable/disable IPS daemon's use of CPUs other than CPU 0 Valid values: `disable`, `enable`.\n"
          },
          "ngfwMaxScanRange": {
            "type": "integer",
            "description": "NGFW policy-mode app detection threshold.\n"
          },
          "npAccelMode": {
            "type": "string",
            "description": "Acceleration mode for IPS processing by NPx processors. Valid values: `none`, `basic`.\n"
          },
          "packetLogQueueDepth": {
            "type": "integer",
            "description": "Packet/pcap log queue depth per IPS engine.\n"
          },
          "sessionLimitMode": {
            "type": "string",
            "description": "Method of counting concurrent sessions used by session limit anomalies. Choose between greater accuracy (accurate) or improved performance (heuristics). Valid values: `accurate`, `heuristic`.\n"
          },
          "skypeClientPublicIpaddr": {
            "type": "string",
            "description": "Public IP addresses of your network that receive Skype sessions. Helps identify Skype sessions. Separate IP addresses with commas.\n"
          },
          "socketSize": {
            "type": "integer",
            "description": "IPS socket buffer size. Max and default value depend on available memory. Can be changed to tune performance.\n"
          },
          "syncSessionTtl": {
            "type": "string",
            "description": "Enable/disable use of kernel session TTL for IPS sessions. Valid values: `enable`, `disable`.\n"
          },
          "tlsActiveProbe": {
            "$ref": "#/types/fortios:ips%2FGlobalTlsActiveProbe:GlobalTlsActiveProbe",
            "description": "TLS active probe configuration. The structure of `tls_active_probe` block is documented below.\n"
          },
          "trafficSubmit": {
            "type": "string",
            "description": "Enable/disable submitting attack data found by this FortiGate to FortiGuard. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:ips/rule:Rule": {
      "description": "Configure IPS rules.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\n// import first and then modify\nconst trname = new fortios.ips.Rule(\"trname\", {\n    action: \"block\",\n    application: \"All\",\n    date: 1462435200,\n    group: \"backdoor\",\n    location: \"server\",\n    log: \"enable\",\n    logPacket: \"disable\",\n    os: \"All\",\n    rev: 6637,\n    ruleId: 40473,\n    service: \"UDP, DNS\",\n    severity: \"critical\",\n    status: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\n# import first and then modify\ntrname = fortios.ips.Rule(\"trname\",\n    action=\"block\",\n    application=\"All\",\n    date=1462435200,\n    group=\"backdoor\",\n    location=\"server\",\n    log=\"enable\",\n    log_packet=\"disable\",\n    os=\"All\",\n    rev=6637,\n    rule_id=40473,\n    service=\"UDP, DNS\",\n    severity=\"critical\",\n    status=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    // import first and then modify\n    var trname = new Fortios.Ips.Rule(\"trname\", new()\n    {\n        Action = \"block\",\n        Application = \"All\",\n        Date = 1462435200,\n        Group = \"backdoor\",\n        Location = \"server\",\n        Log = \"enable\",\n        LogPacket = \"disable\",\n        Os = \"All\",\n        Rev = 6637,\n        RuleId = 40473,\n        Service = \"UDP, DNS\",\n        Severity = \"critical\",\n        Status = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/ips\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// import first and then modify\n\t\t_, err := ips.NewRule(ctx, \"trname\", &ips.RuleArgs{\n\t\t\tAction:      pulumi.String(\"block\"),\n\t\t\tApplication: pulumi.String(\"All\"),\n\t\t\tDate:        pulumi.Int(1462435200),\n\t\t\tGroup:       pulumi.String(\"backdoor\"),\n\t\t\tLocation:    pulumi.String(\"server\"),\n\t\t\tLog:         pulumi.String(\"enable\"),\n\t\t\tLogPacket:   pulumi.String(\"disable\"),\n\t\t\tOs:          pulumi.String(\"All\"),\n\t\t\tRev:         pulumi.Int(6637),\n\t\t\tRuleId:      pulumi.Int(40473),\n\t\t\tService:     pulumi.String(\"UDP, DNS\"),\n\t\t\tSeverity:    pulumi.String(\"critical\"),\n\t\t\tStatus:      pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.ips.Rule;\nimport com.pulumi.fortios.ips.RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // import first and then modify\n        var trname = new Rule(\"trname\", RuleArgs.builder()\n            .action(\"block\")\n            .application(\"All\")\n            .date(1462435200)\n            .group(\"backdoor\")\n            .location(\"server\")\n            .log(\"enable\")\n            .logPacket(\"disable\")\n            .os(\"All\")\n            .rev(6637)\n            .ruleId(40473)\n            .service(\"UDP, DNS\")\n            .severity(\"critical\")\n            .status(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # import first and then modify\n  trname:\n    type: fortios:ips:Rule\n    properties:\n      action: block\n      application: All\n      date: 1.4624352e+09\n      group: backdoor\n      location: server\n      log: enable\n      logPacket: disable\n      os: All\n      rev: 6637\n      ruleId: 40473\n      service: UDP, DNS\n      severity: critical\n      status: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nIps Rule can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:ips/rule:Rule labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:ips/rule:Rule labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `pass`, `block`.\n"
        },
        "application": {
          "type": "string",
          "description": "Vulnerable applications.\n"
        },
        "date": {
          "type": "integer",
          "description": "Date.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "group": {
          "type": "string",
          "description": "Group.\n"
        },
        "location": {
          "type": "string",
          "description": "Vulnerable location.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `disable`, `enable`.\n"
        },
        "logPacket": {
          "type": "string",
          "description": "Enable/disable packet logging. Valid values: `disable`, `enable`.\n"
        },
        "metadatas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FRuleMetadata:RuleMetadata"
          },
          "description": "Meta data. The structure of `metadata` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Rule name.\n"
        },
        "os": {
          "type": "string",
          "description": "Vulnerable operation systems.\n"
        },
        "rev": {
          "type": "integer",
          "description": "Revision.\n"
        },
        "ruleId": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "service": {
          "type": "string",
          "description": "Vulnerable service.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "application",
        "date",
        "group",
        "location",
        "log",
        "logPacket",
        "name",
        "os",
        "rev",
        "ruleId",
        "service",
        "severity",
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Action. Valid values: `pass`, `block`.\n"
        },
        "application": {
          "type": "string",
          "description": "Vulnerable applications.\n"
        },
        "date": {
          "type": "integer",
          "description": "Date.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "group": {
          "type": "string",
          "description": "Group.\n"
        },
        "location": {
          "type": "string",
          "description": "Vulnerable location.\n"
        },
        "log": {
          "type": "string",
          "description": "Enable/disable logging. Valid values: `disable`, `enable`.\n"
        },
        "logPacket": {
          "type": "string",
          "description": "Enable/disable packet logging. Valid values: `disable`, `enable`.\n"
        },
        "metadatas": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FRuleMetadata:RuleMetadata"
          },
          "description": "Meta data. The structure of `metadata` block is documented below.\n"
        },
        "name": {
          "type": "string",
          "description": "Rule name.\n",
          "willReplaceOnChanges": true
        },
        "os": {
          "type": "string",
          "description": "Vulnerable operation systems.\n"
        },
        "rev": {
          "type": "integer",
          "description": "Revision.\n"
        },
        "ruleId": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "service": {
          "type": "string",
          "description": "Vulnerable service.\n"
        },
        "severity": {
          "type": "string",
          "description": "Severity.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable status. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Rule resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Action. Valid values: `pass`, `block`.\n"
          },
          "application": {
            "type": "string",
            "description": "Vulnerable applications.\n"
          },
          "date": {
            "type": "integer",
            "description": "Date.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "group": {
            "type": "string",
            "description": "Group.\n"
          },
          "location": {
            "type": "string",
            "description": "Vulnerable location.\n"
          },
          "log": {
            "type": "string",
            "description": "Enable/disable logging. Valid values: `disable`, `enable`.\n"
          },
          "logPacket": {
            "type": "string",
            "description": "Enable/disable packet logging. Valid values: `disable`, `enable`.\n"
          },
          "metadatas": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:ips%2FRuleMetadata:RuleMetadata"
            },
            "description": "Meta data. The structure of `metadata` block is documented below.\n"
          },
          "name": {
            "type": "string",
            "description": "Rule name.\n",
            "willReplaceOnChanges": true
          },
          "os": {
            "type": "string",
            "description": "Vulnerable operation systems.\n"
          },
          "rev": {
            "type": "integer",
            "description": "Revision.\n"
          },
          "ruleId": {
            "type": "integer",
            "description": "Rule ID.\n"
          },
          "service": {
            "type": "string",
            "description": "Vulnerable service.\n"
          },
          "severity": {
            "type": "string",
            "description": "Severity.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable status. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:ips/rulesettings:Rulesettings": {
      "description": "Configure IPS rule setting.\n\n## Import\n\nIps RuleSettings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:ips/rulesettings:Rulesettings labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:ips/rulesettings:Rulesettings labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "Rule ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Rulesettings resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "Rule ID.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:ips/sensor:Sensor": {
      "description": "Configure IPS sensor.\n\n## Import\n\nIps Sensor can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:ips/sensor:Sensor labelname {{name}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:ips/sensor:Sensor labelname {{name}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "blockMaliciousUrl": {
          "type": "string",
          "description": "Enable/disable malicious URL blocking. Valid values: `disable`, `enable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorEntry:SensorEntry"
          },
          "description": "IPS sensor filter. The structure of `entries` block is documented below.\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging. Valid values: `enable`, `disable`.\n"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorFilter:SensorFilter"
          },
          "description": "IPS sensor filter. The structure of `filter` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Sensor name.\n"
        },
        "overrides": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorOverride:SensorOverride"
          },
          "description": "IPS override rule. The structure of `override` block is documented below.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Block or monitor connections to Botnet servers, or disable Botnet scanning. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "blockMaliciousUrl",
        "extendedLog",
        "name",
        "replacemsgGroup",
        "scanBotnetConnections",
        "vdomparam"
      ],
      "inputProperties": {
        "blockMaliciousUrl": {
          "type": "string",
          "description": "Enable/disable malicious URL blocking. Valid values: `disable`, `enable`.\n"
        },
        "comment": {
          "type": "string",
          "description": "Comment.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "entries": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorEntry:SensorEntry"
          },
          "description": "IPS sensor filter. The structure of `entries` block is documented below.\n"
        },
        "extendedLog": {
          "type": "string",
          "description": "Enable/disable extended logging. Valid values: `enable`, `disable`.\n"
        },
        "filters": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorFilter:SensorFilter"
          },
          "description": "IPS sensor filter. The structure of `filter` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "name": {
          "type": "string",
          "description": "Sensor name.\n",
          "willReplaceOnChanges": true
        },
        "overrides": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:ips%2FSensorOverride:SensorOverride"
          },
          "description": "IPS override rule. The structure of `override` block is documented below.\n"
        },
        "replacemsgGroup": {
          "type": "string",
          "description": "Replacement message group.\n"
        },
        "scanBotnetConnections": {
          "type": "string",
          "description": "Block or monitor connections to Botnet servers, or disable Botnet scanning. Valid values: `disable`, `block`, `monitor`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Sensor resources.\n",
        "properties": {
          "blockMaliciousUrl": {
            "type": "string",
            "description": "Enable/disable malicious URL blocking. Valid values: `disable`, `enable`.\n"
          },
          "comment": {
            "type": "string",
            "description": "Comment.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "entries": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:ips%2FSensorEntry:SensorEntry"
            },
            "description": "IPS sensor filter. The structure of `entries` block is documented below.\n"
          },
          "extendedLog": {
            "type": "string",
            "description": "Enable/disable extended logging. Valid values: `enable`, `disable`.\n"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:ips%2FSensorFilter:SensorFilter"
            },
            "description": "IPS sensor filter. The structure of `filter` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "name": {
            "type": "string",
            "description": "Sensor name.\n",
            "willReplaceOnChanges": true
          },
          "overrides": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:ips%2FSensorOverride:SensorOverride"
            },
            "description": "IPS override rule. The structure of `override` block is documented below.\n"
          },
          "replacemsgGroup": {
            "type": "string",
            "description": "Replacement message group.\n"
          },
          "scanBotnetConnections": {
            "type": "string",
            "description": "Block or monitor connections to Botnet servers, or disable Botnet scanning. Valid values: `disable`, `block`, `monitor`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:ips/settings:Settings": {
      "description": "Configure IPS VDOM parameter.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.ips.Settings(\"trname\", {\n    ipsPacketQuota: 0,\n    packetLogHistory: 1,\n    packetLogMemory: 256,\n    packetLogPostAttack: 0,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.ips.Settings(\"trname\",\n    ips_packet_quota=0,\n    packet_log_history=1,\n    packet_log_memory=256,\n    packet_log_post_attack=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Ips.Settings(\"trname\", new()\n    {\n        IpsPacketQuota = 0,\n        PacketLogHistory = 1,\n        PacketLogMemory = 256,\n        PacketLogPostAttack = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/ips\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ips.NewSettings(ctx, \"trname\", &ips.SettingsArgs{\n\t\t\tIpsPacketQuota:      pulumi.Int(0),\n\t\t\tPacketLogHistory:    pulumi.Int(1),\n\t\t\tPacketLogMemory:     pulumi.Int(256),\n\t\t\tPacketLogPostAttack: pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.ips.Settings;\nimport com.pulumi.fortios.ips.SettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Settings(\"trname\", SettingsArgs.builder()\n            .ipsPacketQuota(0)\n            .packetLogHistory(1)\n            .packetLogMemory(256)\n            .packetLogPostAttack(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:ips:Settings\n    properties:\n      ipsPacketQuota: 0\n      packetLogHistory: 1\n      packetLogMemory: 256\n      packetLogPostAttack: 0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nIps Settings can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:ips/settings:Settings labelname IpsSettings\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:ips/settings:Settings labelname IpsSettings\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "ipsPacketQuota": {
          "type": "integer",
          "description": "Maximum amount of disk space in MB for logged packets when logging to disk. Range depends on disk size.\n"
        },
        "packetLogHistory": {
          "type": "integer",
          "description": "Number of packets to capture before and including the one in which the IPS signature is detected (1 - 255).\n"
        },
        "packetLogMemory": {
          "type": "integer",
          "description": "Maximum memory can be used by packet log (64 - 8192 kB).\n"
        },
        "packetLogPostAttack": {
          "type": "integer",
          "description": "Number of packets to log after the IPS signature is detected (0 - 255).\n"
        },
        "proxyInlineIps": {
          "type": "string",
          "description": "Enable/disable proxy-mode policy inline IPS support. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "ipsPacketQuota",
        "packetLogHistory",
        "packetLogMemory",
        "packetLogPostAttack",
        "proxyInlineIps",
        "vdomparam"
      ],
      "inputProperties": {
        "ipsPacketQuota": {
          "type": "integer",
          "description": "Maximum amount of disk space in MB for logged packets when logging to disk. Range depends on disk size.\n"
        },
        "packetLogHistory": {
          "type": "integer",
          "description": "Number of packets to capture before and including the one in which the IPS signature is detected (1 - 255).\n"
        },
        "packetLogMemory": {
          "type": "integer",
          "description": "Maximum memory can be used by packet log (64 - 8192 kB).\n"
        },
        "packetLogPostAttack": {
          "type": "integer",
          "description": "Number of packets to log after the IPS signature is detected (0 - 255).\n"
        },
        "proxyInlineIps": {
          "type": "string",
          "description": "Enable/disable proxy-mode policy inline IPS support. Valid values: `disable`, `enable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Settings resources.\n",
        "properties": {
          "ipsPacketQuota": {
            "type": "integer",
            "description": "Maximum amount of disk space in MB for logged packets when logging to disk. Range depends on disk size.\n"
          },
          "packetLogHistory": {
            "type": "integer",
            "description": "Number of packets to capture before and including the one in which the IPS signature is detected (1 - 255).\n"
          },
          "packetLogMemory": {
            "type": "integer",
            "description": "Maximum memory can be used by packet log (64 - 8192 kB).\n"
          },
          "packetLogPostAttack": {
            "type": "integer",
            "description": "Number of packets to log after the IPS signature is detected (0 - 255).\n"
          },
          "proxyInlineIps": {
            "type": "string",
            "description": "Enable/disable proxy-mode policy inline IPS support. Valid values: `disable`, `enable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:ips/viewmap:Viewmap": {
      "description": "configure ips view-map Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nIps ViewMap can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:ips/viewmap:Viewmap labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:ips/viewmap:Viewmap labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "integer",
          "description": "View ID.\n"
        },
        "idPolicyId": {
          "type": "integer",
          "description": "ID-based policy ID.\n"
        },
        "policyId": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "vdomId": {
          "type": "integer",
          "description": "VDOM ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "which": {
          "type": "string",
          "description": "Policy.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "idPolicyId",
        "policyId",
        "vdomId",
        "vdomparam",
        "which"
      ],
      "inputProperties": {
        "fosid": {
          "type": "integer",
          "description": "View ID.\n",
          "willReplaceOnChanges": true
        },
        "idPolicyId": {
          "type": "integer",
          "description": "ID-based policy ID.\n"
        },
        "policyId": {
          "type": "integer",
          "description": "Policy ID.\n"
        },
        "vdomId": {
          "type": "integer",
          "description": "VDOM ID.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "which": {
          "type": "string",
          "description": "Policy.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Viewmap resources.\n",
        "properties": {
          "fosid": {
            "type": "integer",
            "description": "View ID.\n",
            "willReplaceOnChanges": true
          },
          "idPolicyId": {
            "type": "integer",
            "description": "ID-based policy ID.\n"
          },
          "policyId": {
            "type": "integer",
            "description": "Policy ID.\n"
          },
          "vdomId": {
            "type": "integer",
            "description": "VDOM ID.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "which": {
            "type": "string",
            "description": "Policy.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:json/genericApi:GenericApi": {
      "description": "FortiAPI Generic Interface.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst test1 = new fortios.json.GenericApi(\"test1\", {\n    json: \"\",\n    method: \"GET\",\n    path: \"/api/v2/cmdb/firewall/address\",\n});\nexport const response1 = test1.response;\nconst test2 = new fortios.json.GenericApi(\"test2\", {\n    json: `{\n  \"name\": \"11221\",\n  \"type\": \"geography\",\n  \"fqdn\": \"\",\n  \"country\": \"AL\",\n  \"comment\": \"ccc\",\n  \"visibility\": \"enable\",\n  \"associated-interface\": \"port1\",\n  \"allow-routing\": \"disable\"\n}\n\n`,\n    method: \"POST\",\n    path: \"/api/v2/cmdb/firewall/address\",\n});\nexport const response2 = test2.response;\nconst test3 = new fortios.json.GenericApi(\"test3\", {\n    json: \"\",\n    method: \"PUT\",\n    path: \"/api/v2/cmdb/firewall/policy/3\",\n    specialparams: \"action=move&after=1\",\n});\nexport const response3 = test3.response;\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntest1 = fortios.json.GenericApi(\"test1\",\n    json=\"\",\n    method=\"GET\",\n    path=\"/api/v2/cmdb/firewall/address\")\npulumi.export(\"response1\", test1.response)\ntest2 = fortios.json.GenericApi(\"test2\",\n    json=\"\"\"{\n  \"name\": \"11221\",\n  \"type\": \"geography\",\n  \"fqdn\": \"\",\n  \"country\": \"AL\",\n  \"comment\": \"ccc\",\n  \"visibility\": \"enable\",\n  \"associated-interface\": \"port1\",\n  \"allow-routing\": \"disable\"\n}\n\n\"\"\",\n    method=\"POST\",\n    path=\"/api/v2/cmdb/firewall/address\")\npulumi.export(\"response2\", test2.response)\ntest3 = fortios.json.GenericApi(\"test3\",\n    json=\"\",\n    method=\"PUT\",\n    path=\"/api/v2/cmdb/firewall/policy/3\",\n    specialparams=\"action=move&after=1\")\npulumi.export(\"response3\", test3.response)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test1 = new Fortios.Json.GenericApi(\"test1\", new()\n    {\n        Json = \"\",\n        Method = \"GET\",\n        Path = \"/api/v2/cmdb/firewall/address\",\n    });\n\n    var test2 = new Fortios.Json.GenericApi(\"test2\", new()\n    {\n        Json = @\"{\n  \"\"name\"\": \"\"11221\"\",\n  \"\"type\"\": \"\"geography\"\",\n  \"\"fqdn\"\": \"\"\"\",\n  \"\"country\"\": \"\"AL\"\",\n  \"\"comment\"\": \"\"ccc\"\",\n  \"\"visibility\"\": \"\"enable\"\",\n  \"\"associated-interface\"\": \"\"port1\"\",\n  \"\"allow-routing\"\": \"\"disable\"\"\n}\n\n\",\n        Method = \"POST\",\n        Path = \"/api/v2/cmdb/firewall/address\",\n    });\n\n    var test3 = new Fortios.Json.GenericApi(\"test3\", new()\n    {\n        Json = \"\",\n        Method = \"PUT\",\n        Path = \"/api/v2/cmdb/firewall/policy/3\",\n        Specialparams = \"action=move&after=1\",\n    });\n\n    return new Dictionary<string, object?>\n    {\n        [\"response1\"] = test1.Response,\n        [\"response2\"] = test2.Response,\n        [\"response3\"] = test3.Response,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/json\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest1, err := json.NewGenericApi(ctx, \"test1\", &json.GenericApiArgs{\n\t\t\tJson:   pulumi.String(\"\"),\n\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\tPath:   pulumi.String(\"/api/v2/cmdb/firewall/address\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"response1\", test1.Response)\n\t\ttest2, err := json.NewGenericApi(ctx, \"test2\", &json.GenericApiArgs{\n\t\t\tJson: pulumi.String(`{\n  \"name\": \"11221\",\n  \"type\": \"geography\",\n  \"fqdn\": \"\",\n  \"country\": \"AL\",\n  \"comment\": \"ccc\",\n  \"visibility\": \"enable\",\n  \"associated-interface\": \"port1\",\n  \"allow-routing\": \"disable\"\n}\n\n`),\n\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\tPath:   pulumi.String(\"/api/v2/cmdb/firewall/address\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"response2\", test2.Response)\n\t\ttest3, err := json.NewGenericApi(ctx, \"test3\", &json.GenericApiArgs{\n\t\t\tJson:          pulumi.String(\"\"),\n\t\t\tMethod:        pulumi.String(\"PUT\"),\n\t\t\tPath:          pulumi.String(\"/api/v2/cmdb/firewall/policy/3\"),\n\t\t\tSpecialparams: pulumi.String(\"action=move&after=1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"response3\", test3.Response)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.json.GenericApi;\nimport com.pulumi.fortios.json.GenericApiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test1 = new GenericApi(\"test1\", GenericApiArgs.builder()\n            .json(\"\")\n            .method(\"GET\")\n            .path(\"/api/v2/cmdb/firewall/address\")\n            .build());\n\n        ctx.export(\"response1\", test1.response());\n        var test2 = new GenericApi(\"test2\", GenericApiArgs.builder()\n            .json(\"\"\"\n{\n  \"name\": \"11221\",\n  \"type\": \"geography\",\n  \"fqdn\": \"\",\n  \"country\": \"AL\",\n  \"comment\": \"ccc\",\n  \"visibility\": \"enable\",\n  \"associated-interface\": \"port1\",\n  \"allow-routing\": \"disable\"\n}\n\n            \"\"\")\n            .method(\"POST\")\n            .path(\"/api/v2/cmdb/firewall/address\")\n            .build());\n\n        ctx.export(\"response2\", test2.response());\n        var test3 = new GenericApi(\"test3\", GenericApiArgs.builder()\n            .json(\"\")\n            .method(\"PUT\")\n            .path(\"/api/v2/cmdb/firewall/policy/3\")\n            .specialparams(\"action=move&after=1\")\n            .build());\n\n        ctx.export(\"response3\", test3.response());\n    }\n}\n```\n```yaml\nresources:\n  test1:\n    type: fortios:json:GenericApi\n    properties:\n      json:\n      method: GET\n      path: /api/v2/cmdb/firewall/address\n  test2:\n    type: fortios:json:GenericApi\n    properties:\n      json: |+\n        {\n          \"name\": \"11221\",\n          \"type\": \"geography\",\n          \"fqdn\": \"\",\n          \"country\": \"AL\",\n          \"comment\": \"ccc\",\n          \"visibility\": \"enable\",\n          \"associated-interface\": \"port1\",\n          \"allow-routing\": \"disable\"\n        }\n\n      method: POST\n      path: /api/v2/cmdb/firewall/address\n  test3:\n    type: fortios:json:GenericApi\n    properties:\n      json:\n      method: PUT\n      path: /api/v2/cmdb/firewall/policy/3\n      specialparams: action=move&after=1\noutputs:\n  response1: ${test1.response}\n  response2: ${test2.response}\n  response3: ${test3.response}\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "forceRecreate": {
          "type": "string",
          "description": "The argument is optional, if it is set, when its value changes, the resource will be re-created. It is usually used when the return value needs to be forced to update.\n"
        },
        "json": {
          "type": "string",
          "description": "Body data in JSON format.\n"
        },
        "method": {
          "type": "string",
          "description": "HTTP method.\n"
        },
        "path": {
          "type": "string",
          "description": "FortiAPI URL path.\n"
        },
        "response": {
          "type": "string",
          "description": "FortiAPI returns results.\n"
        },
        "specialparams": {
          "type": "string",
          "description": "URL parameters, in addition to the URL path, user can specify URL parameters which are appended to the URL path.\n"
        },
        "vdomparam": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "method",
        "path",
        "response"
      ],
      "inputProperties": {
        "forceRecreate": {
          "type": "string",
          "description": "The argument is optional, if it is set, when its value changes, the resource will be re-created. It is usually used when the return value needs to be forced to update.\n",
          "willReplaceOnChanges": true
        },
        "json": {
          "type": "string",
          "description": "Body data in JSON format.\n"
        },
        "method": {
          "type": "string",
          "description": "HTTP method.\n"
        },
        "path": {
          "type": "string",
          "description": "FortiAPI URL path.\n"
        },
        "specialparams": {
          "type": "string",
          "description": "URL parameters, in addition to the URL path, user can specify URL parameters which are appended to the URL path.\n"
        },
        "vdomparam": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "method",
        "path"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering GenericApi resources.\n",
        "properties": {
          "forceRecreate": {
            "type": "string",
            "description": "The argument is optional, if it is set, when its value changes, the resource will be re-created. It is usually used when the return value needs to be forced to update.\n",
            "willReplaceOnChanges": true
          },
          "json": {
            "type": "string",
            "description": "Body data in JSON format.\n"
          },
          "method": {
            "type": "string",
            "description": "HTTP method.\n"
          },
          "path": {
            "type": "string",
            "description": "FortiAPI URL path.\n"
          },
          "response": {
            "type": "string",
            "description": "FortiAPI returns results.\n"
          },
          "specialparams": {
            "type": "string",
            "description": "URL parameters, in addition to the URL path, user can specify URL parameters which are appended to the URL path.\n"
          },
          "vdomparam": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:log/customfield:Customfield": {
      "description": "Configure custom log fields.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.Customfield(\"trname\", {\n    fosid: \"1\",\n    value: \"logteststr\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.Customfield(\"trname\",\n    fosid=\"1\",\n    value=\"logteststr\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Customfield(\"trname\", new()\n    {\n        Fosid = \"1\",\n        Value = \"logteststr\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewCustomfield(ctx, \"trname\", &log.CustomfieldArgs{\n\t\t\tFosid: pulumi.String(\"1\"),\n\t\t\tValue: pulumi.String(\"logteststr\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Customfield;\nimport com.pulumi.fortios.log.CustomfieldArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Customfield(\"trname\", CustomfieldArgs.builder()\n            .fosid(\"1\")\n            .value(\"logteststr\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log:Customfield\n    properties:\n      fosid: '1'\n      value: logteststr\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLog CustomField can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/customfield:Customfield labelname {{fosid}}\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/customfield:Customfield labelname {{fosid}}\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "fosid": {
          "type": "string",
          "description": "field ID <string>.\n"
        },
        "name": {
          "type": "string",
          "description": "Field name (max: 15 characters).\n"
        },
        "value": {
          "type": "string",
          "description": "Field value (max: 15 characters).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "fosid",
        "name",
        "value",
        "vdomparam"
      ],
      "inputProperties": {
        "fosid": {
          "type": "string",
          "description": "field ID <string>.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "Field name (max: 15 characters).\n"
        },
        "value": {
          "type": "string",
          "description": "Field value (max: 15 characters).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "value"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Customfield resources.\n",
        "properties": {
          "fosid": {
            "type": "string",
            "description": "field ID <string>.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "Field name (max: 15 characters).\n"
          },
          "value": {
            "type": "string",
            "description": "Field value (max: 15 characters).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:log/disk/filter:Filter": {
      "description": "Configure filters for local disk logging. Use these filters to determine the log messages to record according to severity and type.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.disk.Filter(\"trname\", {\n    anomaly: \"enable\",\n    dlpArchive: \"enable\",\n    dns: \"enable\",\n    filterType: \"include\",\n    forwardTraffic: \"enable\",\n    gtp: \"enable\",\n    localTraffic: \"enable\",\n    multicastTraffic: \"enable\",\n    severity: \"information\",\n    snifferTraffic: \"enable\",\n    ssh: \"enable\",\n    voip: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.disk.Filter(\"trname\",\n    anomaly=\"enable\",\n    dlp_archive=\"enable\",\n    dns=\"enable\",\n    filter_type=\"include\",\n    forward_traffic=\"enable\",\n    gtp=\"enable\",\n    local_traffic=\"enable\",\n    multicast_traffic=\"enable\",\n    severity=\"information\",\n    sniffer_traffic=\"enable\",\n    ssh=\"enable\",\n    voip=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Disk.Filter(\"trname\", new()\n    {\n        Anomaly = \"enable\",\n        DlpArchive = \"enable\",\n        Dns = \"enable\",\n        FilterType = \"include\",\n        ForwardTraffic = \"enable\",\n        Gtp = \"enable\",\n        LocalTraffic = \"enable\",\n        MulticastTraffic = \"enable\",\n        Severity = \"information\",\n        SnifferTraffic = \"enable\",\n        Ssh = \"enable\",\n        Voip = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewFilter(ctx, \"trname\", &log.FilterArgs{\n\t\t\tAnomaly:          pulumi.String(\"enable\"),\n\t\t\tDlpArchive:       pulumi.String(\"enable\"),\n\t\t\tDns:              pulumi.String(\"enable\"),\n\t\t\tFilterType:       pulumi.String(\"include\"),\n\t\t\tForwardTraffic:   pulumi.String(\"enable\"),\n\t\t\tGtp:              pulumi.String(\"enable\"),\n\t\t\tLocalTraffic:     pulumi.String(\"enable\"),\n\t\t\tMulticastTraffic: pulumi.String(\"enable\"),\n\t\t\tSeverity:         pulumi.String(\"information\"),\n\t\t\tSnifferTraffic:   pulumi.String(\"enable\"),\n\t\t\tSsh:              pulumi.String(\"enable\"),\n\t\t\tVoip:             pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Filter;\nimport com.pulumi.fortios.log.FilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Filter(\"trname\", FilterArgs.builder()\n            .anomaly(\"enable\")\n            .dlpArchive(\"enable\")\n            .dns(\"enable\")\n            .filterType(\"include\")\n            .forwardTraffic(\"enable\")\n            .gtp(\"enable\")\n            .localTraffic(\"enable\")\n            .multicastTraffic(\"enable\")\n            .severity(\"information\")\n            .snifferTraffic(\"enable\")\n            .ssh(\"enable\")\n            .voip(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/disk:Filter\n    properties:\n      anomaly: enable\n      dlpArchive: enable\n      dns: enable\n      filterType: include\n      forwardTraffic: enable\n      gtp: enable\n      localTraffic: enable\n      multicastTraffic: enable\n      severity: information\n      snifferTraffic: enable\n      ssh: enable\n      voip: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogDisk Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/disk/filter:Filter labelname LogDiskFilter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/disk/filter:Filter labelname LogDiskFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "admin": {
          "type": "string",
          "description": "Enable/disable admin login/logout logging. Valid values: `enable`, `disable`.\n"
        },
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "auth": {
          "type": "string",
          "description": "Enable/disable firewall authentication logging. Valid values: `enable`, `disable`.\n"
        },
        "cpuMemoryUsage": {
          "type": "string",
          "description": "Enable/disable CPU & memory usage logging every 5 minutes. Valid values: `enable`, `disable`.\n"
        },
        "dhcp": {
          "type": "string",
          "description": "Enable/disable DHCP service messages logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "event": {
          "type": "string",
          "description": "Enable/disable event logging. Valid values: `enable`, `disable`.\n"
        },
        "filter": {
          "type": "string",
          "description": "Disk log filter.\n",
          "language": {
            "csharp": {
              "name": "Definition"
            }
          }
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fdisk%2FFilterFreeStyle:FilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "ha": {
          "type": "string",
          "description": "Enable/disable HA logging. Valid values: `enable`, `disable`.\n"
        },
        "ipsec": {
          "type": "string",
          "description": "Enable/disable IPsec negotiation messages logging. Valid values: `enable`, `disable`.\n"
        },
        "ldbMonitor": {
          "type": "string",
          "description": "Enable/disable VIP real server health monitoring logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Enable/disable pattern update logging. Valid values: `enable`, `disable`.\n"
        },
        "ppp": {
          "type": "string",
          "description": "Enable/disable L2TP/PPTP/PPPoE logging. Valid values: `enable`, `disable`.\n"
        },
        "radius": {
          "type": "string",
          "description": "Enable/disable RADIUS messages logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Log to disk every message above and including this severity level. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnLogAdm": {
          "type": "string",
          "description": "Enable/disable SSL administrator login logging. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnLogAuth": {
          "type": "string",
          "description": "Enable/disable SSL user authentication logging. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnLogSession": {
          "type": "string",
          "description": "Enable/disable SSL session logging. Valid values: `enable`, `disable`.\n"
        },
        "system": {
          "type": "string",
          "description": "Enable/disable system activity logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vipSsl": {
          "type": "string",
          "description": "Enable/disable VIP SSL logging. Valid values: `enable`, `disable`.\n"
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "wanOpt": {
          "type": "string",
          "description": "Enable/disable WAN optimization event logging. Valid values: `enable`, `disable`.\n"
        },
        "wirelessActivity": {
          "type": "string",
          "description": "Enable/disable wireless activity event logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "admin",
        "anomaly",
        "auth",
        "cpuMemoryUsage",
        "dhcp",
        "dlpArchive",
        "dns",
        "event",
        "filter",
        "filterType",
        "fortiSwitch",
        "forwardTraffic",
        "gtp",
        "ha",
        "ipsec",
        "ldbMonitor",
        "localTraffic",
        "multicastTraffic",
        "netscanDiscovery",
        "netscanVulnerability",
        "pattern",
        "ppp",
        "radius",
        "severity",
        "snifferTraffic",
        "ssh",
        "sslvpnLogAdm",
        "sslvpnLogAuth",
        "sslvpnLogSession",
        "system",
        "vdomparam",
        "vipSsl",
        "voip",
        "wanOpt",
        "wirelessActivity",
        "ztnaTraffic"
      ],
      "inputProperties": {
        "admin": {
          "type": "string",
          "description": "Enable/disable admin login/logout logging. Valid values: `enable`, `disable`.\n"
        },
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "auth": {
          "type": "string",
          "description": "Enable/disable firewall authentication logging. Valid values: `enable`, `disable`.\n"
        },
        "cpuMemoryUsage": {
          "type": "string",
          "description": "Enable/disable CPU & memory usage logging every 5 minutes. Valid values: `enable`, `disable`.\n"
        },
        "dhcp": {
          "type": "string",
          "description": "Enable/disable DHCP service messages logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "event": {
          "type": "string",
          "description": "Enable/disable event logging. Valid values: `enable`, `disable`.\n"
        },
        "filter": {
          "type": "string",
          "description": "Disk log filter.\n",
          "language": {
            "csharp": {
              "name": "Definition"
            }
          }
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Fdisk%2FFilterFreeStyle:FilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "ha": {
          "type": "string",
          "description": "Enable/disable HA logging. Valid values: `enable`, `disable`.\n"
        },
        "ipsec": {
          "type": "string",
          "description": "Enable/disable IPsec negotiation messages logging. Valid values: `enable`, `disable`.\n"
        },
        "ldbMonitor": {
          "type": "string",
          "description": "Enable/disable VIP real server health monitoring logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Enable/disable pattern update logging. Valid values: `enable`, `disable`.\n"
        },
        "ppp": {
          "type": "string",
          "description": "Enable/disable L2TP/PPTP/PPPoE logging. Valid values: `enable`, `disable`.\n"
        },
        "radius": {
          "type": "string",
          "description": "Enable/disable RADIUS messages logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Log to disk every message above and including this severity level. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnLogAdm": {
          "type": "string",
          "description": "Enable/disable SSL administrator login logging. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnLogAuth": {
          "type": "string",
          "description": "Enable/disable SSL user authentication logging. Valid values: `enable`, `disable`.\n"
        },
        "sslvpnLogSession": {
          "type": "string",
          "description": "Enable/disable SSL session logging. Valid values: `enable`, `disable`.\n"
        },
        "system": {
          "type": "string",
          "description": "Enable/disable system activity logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vipSsl": {
          "type": "string",
          "description": "Enable/disable VIP SSL logging. Valid values: `enable`, `disable`.\n"
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "wanOpt": {
          "type": "string",
          "description": "Enable/disable WAN optimization event logging. Valid values: `enable`, `disable`.\n"
        },
        "wirelessActivity": {
          "type": "string",
          "description": "Enable/disable wireless activity event logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Filter resources.\n",
        "properties": {
          "admin": {
            "type": "string",
            "description": "Enable/disable admin login/logout logging. Valid values: `enable`, `disable`.\n"
          },
          "anomaly": {
            "type": "string",
            "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
          },
          "auth": {
            "type": "string",
            "description": "Enable/disable firewall authentication logging. Valid values: `enable`, `disable`.\n"
          },
          "cpuMemoryUsage": {
            "type": "string",
            "description": "Enable/disable CPU & memory usage logging every 5 minutes. Valid values: `enable`, `disable`.\n"
          },
          "dhcp": {
            "type": "string",
            "description": "Enable/disable DHCP service messages logging. Valid values: `enable`, `disable`.\n"
          },
          "dlpArchive": {
            "type": "string",
            "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
          },
          "dns": {
            "type": "string",
            "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "event": {
            "type": "string",
            "description": "Enable/disable event logging. Valid values: `enable`, `disable`.\n"
          },
          "filter": {
            "type": "string",
            "description": "Disk log filter.\n",
            "language": {
              "csharp": {
                "name": "Definition"
              }
            }
          },
          "filterType": {
            "type": "string",
            "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
          },
          "fortiSwitch": {
            "type": "string",
            "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
          },
          "forwardTraffic": {
            "type": "string",
            "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "freeStyles": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Fdisk%2FFilterFreeStyle:FilterFreeStyle"
            },
            "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gtp": {
            "type": "string",
            "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
          },
          "ha": {
            "type": "string",
            "description": "Enable/disable HA logging. Valid values: `enable`, `disable`.\n"
          },
          "ipsec": {
            "type": "string",
            "description": "Enable/disable IPsec negotiation messages logging. Valid values: `enable`, `disable`.\n"
          },
          "ldbMonitor": {
            "type": "string",
            "description": "Enable/disable VIP real server health monitoring logging. Valid values: `enable`, `disable`.\n"
          },
          "localTraffic": {
            "type": "string",
            "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "multicastTraffic": {
            "type": "string",
            "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "netscanDiscovery": {
            "type": "string",
            "description": "Enable/disable netscan discovery event logging.\n"
          },
          "netscanVulnerability": {
            "type": "string",
            "description": "Enable/disable netscan vulnerability event logging.\n"
          },
          "pattern": {
            "type": "string",
            "description": "Enable/disable pattern update logging. Valid values: `enable`, `disable`.\n"
          },
          "ppp": {
            "type": "string",
            "description": "Enable/disable L2TP/PPTP/PPPoE logging. Valid values: `enable`, `disable`.\n"
          },
          "radius": {
            "type": "string",
            "description": "Enable/disable RADIUS messages logging. Valid values: `enable`, `disable`.\n"
          },
          "severity": {
            "type": "string",
            "description": "Log to disk every message above and including this severity level. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "snifferTraffic": {
            "type": "string",
            "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "ssh": {
            "type": "string",
            "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
          },
          "sslvpnLogAdm": {
            "type": "string",
            "description": "Enable/disable SSL administrator login logging. Valid values: `enable`, `disable`.\n"
          },
          "sslvpnLogAuth": {
            "type": "string",
            "description": "Enable/disable SSL user authentication logging. Valid values: `enable`, `disable`.\n"
          },
          "sslvpnLogSession": {
            "type": "string",
            "description": "Enable/disable SSL session logging. Valid values: `enable`, `disable`.\n"
          },
          "system": {
            "type": "string",
            "description": "Enable/disable system activity logging. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vipSsl": {
            "type": "string",
            "description": "Enable/disable VIP SSL logging. Valid values: `enable`, `disable`.\n"
          },
          "voip": {
            "type": "string",
            "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
          },
          "wanOpt": {
            "type": "string",
            "description": "Enable/disable WAN optimization event logging. Valid values: `enable`, `disable`.\n"
          },
          "wirelessActivity": {
            "type": "string",
            "description": "Enable/disable wireless activity event logging. Valid values: `enable`, `disable`.\n"
          },
          "ztnaTraffic": {
            "type": "string",
            "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/disk/setting:Setting": {
      "description": "Settings for local disk logging.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.disk.Setting(\"trname\", {\n    diskfull: \"overwrite\",\n    dlpArchiveQuota: 0,\n    fullFinalWarningThreshold: 95,\n    fullFirstWarningThreshold: 75,\n    fullSecondWarningThreshold: 90,\n    ipsArchive: \"enable\",\n    logQuota: 0,\n    maxLogFileSize: 20,\n    maxPolicyPacketCaptureSize: 100,\n    maximumLogAge: 7,\n    reportQuota: 0,\n    rollDay: \"sunday\",\n    rollSchedule: \"daily\",\n    rollTime: \"00:00\",\n    sourceIp: \"0.0.0.0\",\n    status: \"enable\",\n    upload: \"disable\",\n    uploadDeleteFiles: \"enable\",\n    uploadDestination: \"ftp-server\",\n    uploadSslConn: \"default\",\n    uploadip: \"0.0.0.0\",\n    uploadport: 21,\n    uploadsched: \"disable\",\n    uploadtime: \"00:00\",\n    uploadtype: \"traffic event virus webfilter IPS spamfilter dlp-archive anomaly voip dlp app-ctrl waf netscan gtp dns\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.disk.Setting(\"trname\",\n    diskfull=\"overwrite\",\n    dlp_archive_quota=0,\n    full_final_warning_threshold=95,\n    full_first_warning_threshold=75,\n    full_second_warning_threshold=90,\n    ips_archive=\"enable\",\n    log_quota=0,\n    max_log_file_size=20,\n    max_policy_packet_capture_size=100,\n    maximum_log_age=7,\n    report_quota=0,\n    roll_day=\"sunday\",\n    roll_schedule=\"daily\",\n    roll_time=\"00:00\",\n    source_ip=\"0.0.0.0\",\n    status=\"enable\",\n    upload=\"disable\",\n    upload_delete_files=\"enable\",\n    upload_destination=\"ftp-server\",\n    upload_ssl_conn=\"default\",\n    uploadip=\"0.0.0.0\",\n    uploadport=21,\n    uploadsched=\"disable\",\n    uploadtime=\"00:00\",\n    uploadtype=\"traffic event virus webfilter IPS spamfilter dlp-archive anomaly voip dlp app-ctrl waf netscan gtp dns\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Disk.Setting(\"trname\", new()\n    {\n        Diskfull = \"overwrite\",\n        DlpArchiveQuota = 0,\n        FullFinalWarningThreshold = 95,\n        FullFirstWarningThreshold = 75,\n        FullSecondWarningThreshold = 90,\n        IpsArchive = \"enable\",\n        LogQuota = 0,\n        MaxLogFileSize = 20,\n        MaxPolicyPacketCaptureSize = 100,\n        MaximumLogAge = 7,\n        ReportQuota = 0,\n        RollDay = \"sunday\",\n        RollSchedule = \"daily\",\n        RollTime = \"00:00\",\n        SourceIp = \"0.0.0.0\",\n        Status = \"enable\",\n        Upload = \"disable\",\n        UploadDeleteFiles = \"enable\",\n        UploadDestination = \"ftp-server\",\n        UploadSslConn = \"default\",\n        Uploadip = \"0.0.0.0\",\n        Uploadport = 21,\n        Uploadsched = \"disable\",\n        Uploadtime = \"00:00\",\n        Uploadtype = \"traffic event virus webfilter IPS spamfilter dlp-archive anomaly voip dlp app-ctrl waf netscan gtp dns\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewSetting(ctx, \"trname\", &log.SettingArgs{\n\t\t\tDiskfull:                   pulumi.String(\"overwrite\"),\n\t\t\tDlpArchiveQuota:            pulumi.Int(0),\n\t\t\tFullFinalWarningThreshold:  pulumi.Int(95),\n\t\t\tFullFirstWarningThreshold:  pulumi.Int(75),\n\t\t\tFullSecondWarningThreshold: pulumi.Int(90),\n\t\t\tIpsArchive:                 pulumi.String(\"enable\"),\n\t\t\tLogQuota:                   pulumi.Int(0),\n\t\t\tMaxLogFileSize:             pulumi.Int(20),\n\t\t\tMaxPolicyPacketCaptureSize: pulumi.Int(100),\n\t\t\tMaximumLogAge:              pulumi.Int(7),\n\t\t\tReportQuota:                pulumi.Int(0),\n\t\t\tRollDay:                    pulumi.String(\"sunday\"),\n\t\t\tRollSchedule:               pulumi.String(\"daily\"),\n\t\t\tRollTime:                   pulumi.String(\"00:00\"),\n\t\t\tSourceIp:                   pulumi.String(\"0.0.0.0\"),\n\t\t\tStatus:                     pulumi.String(\"enable\"),\n\t\t\tUpload:                     pulumi.String(\"disable\"),\n\t\t\tUploadDeleteFiles:          pulumi.String(\"enable\"),\n\t\t\tUploadDestination:          pulumi.String(\"ftp-server\"),\n\t\t\tUploadSslConn:              pulumi.String(\"default\"),\n\t\t\tUploadip:                   pulumi.String(\"0.0.0.0\"),\n\t\t\tUploadport:                 pulumi.Int(21),\n\t\t\tUploadsched:                pulumi.String(\"disable\"),\n\t\t\tUploadtime:                 pulumi.String(\"00:00\"),\n\t\t\tUploadtype:                 pulumi.String(\"traffic event virus webfilter IPS spamfilter dlp-archive anomaly voip dlp app-ctrl waf netscan gtp dns\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Setting;\nimport com.pulumi.fortios.log.SettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Setting(\"trname\", SettingArgs.builder()\n            .diskfull(\"overwrite\")\n            .dlpArchiveQuota(0)\n            .fullFinalWarningThreshold(95)\n            .fullFirstWarningThreshold(75)\n            .fullSecondWarningThreshold(90)\n            .ipsArchive(\"enable\")\n            .logQuota(0)\n            .maxLogFileSize(20)\n            .maxPolicyPacketCaptureSize(100)\n            .maximumLogAge(7)\n            .reportQuota(0)\n            .rollDay(\"sunday\")\n            .rollSchedule(\"daily\")\n            .rollTime(\"00:00\")\n            .sourceIp(\"0.0.0.0\")\n            .status(\"enable\")\n            .upload(\"disable\")\n            .uploadDeleteFiles(\"enable\")\n            .uploadDestination(\"ftp-server\")\n            .uploadSslConn(\"default\")\n            .uploadip(\"0.0.0.0\")\n            .uploadport(21)\n            .uploadsched(\"disable\")\n            .uploadtime(\"00:00\")\n            .uploadtype(\"traffic event virus webfilter IPS spamfilter dlp-archive anomaly voip dlp app-ctrl waf netscan gtp dns\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/disk:Setting\n    properties:\n      diskfull: overwrite\n      dlpArchiveQuota: 0\n      fullFinalWarningThreshold: 95\n      fullFirstWarningThreshold: 75\n      fullSecondWarningThreshold: 90\n      ipsArchive: enable\n      logQuota: 0\n      maxLogFileSize: 20\n      maxPolicyPacketCaptureSize: 100\n      maximumLogAge: 7\n      reportQuota: 0\n      rollDay: sunday\n      rollSchedule: daily\n      rollTime: 00:00\n      sourceIp: 0.0.0.0\n      status: enable\n      upload: disable\n      uploadDeleteFiles: enable\n      uploadDestination: ftp-server\n      uploadSslConn: default\n      uploadip: 0.0.0.0\n      uploadport: 21\n      uploadsched: disable\n      uploadtime: 00:00\n      uploadtype: traffic event virus webfilter IPS spamfilter dlp-archive anomaly voip dlp app-ctrl waf netscan gtp dns\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogDisk Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/disk/setting:Setting labelname LogDiskSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/disk/setting:Setting labelname LogDiskSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "diskfull": {
          "type": "string",
          "description": "Action to take when disk is full. The system can overwrite the oldest log messages or stop logging when the disk is full (default = overwrite). Valid values: `overwrite`, `nolog`.\n"
        },
        "dlpArchiveQuota": {
          "type": "integer",
          "description": "DLP archive quota (MB).\n"
        },
        "fullFinalWarningThreshold": {
          "type": "integer",
          "description": "Log full final warning threshold as a percent (3 - 100, default = 95).\n"
        },
        "fullFirstWarningThreshold": {
          "type": "integer",
          "description": "Log full first warning threshold as a percent (1 - 98, default = 75).\n"
        },
        "fullSecondWarningThreshold": {
          "type": "integer",
          "description": "Log full second warning threshold as a percent (2 - 99, default = 90).\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archiving to the local disk. Valid values: `enable`, `disable`.\n"
        },
        "logQuota": {
          "type": "integer",
          "description": "Disk log quota (MB).\n"
        },
        "maxLogFileSize": {
          "type": "integer",
          "description": "Maximum log file size before rolling (1 - 100 Mbytes).\n"
        },
        "maxPolicyPacketCaptureSize": {
          "type": "integer",
          "description": "Maximum size of policy sniffer in MB (0 means unlimited).\n"
        },
        "maximumLogAge": {
          "type": "integer",
          "description": "Delete log files older than (days).\n"
        },
        "reportQuota": {
          "type": "integer",
          "description": "Report db quota (MB).\n"
        },
        "rollDay": {
          "type": "string",
          "description": "Day of week on which to roll log file. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "rollSchedule": {
          "type": "string",
          "description": "Frequency to check log file for rolling. Valid values: `daily`, `weekly`.\n"
        },
        "rollTime": {
          "type": "string",
          "description": "Time of day to roll the log file (hh:mm).\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address to use for uploading disk log files.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable local disk logging. Valid values: `enable`, `disable`.\n"
        },
        "upload": {
          "type": "string",
          "description": "Enable/disable uploading log files when they are rolled. Valid values: `enable`, `disable`.\n"
        },
        "uploadDeleteFiles": {
          "type": "string",
          "description": "Delete log files after uploading (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "uploadDestination": {
          "type": "string",
          "description": "The type of server to upload log files to. Only FTP is currently supported. Valid values: `ftp-server`.\n"
        },
        "uploadSslConn": {
          "type": "string",
          "description": "Enable/disable encrypted FTPS communication to upload log files. Valid values: `default`, `high`, `low`, `disable`.\n"
        },
        "uploaddir": {
          "type": "string",
          "description": "The remote directory on the FTP server to upload log files to.\n"
        },
        "uploadip": {
          "type": "string",
          "description": "IP address of the FTP server to upload log files to.\n"
        },
        "uploadpass": {
          "type": "string",
          "description": "Password required to log into the FTP server to upload disk log files.\n",
          "secret": true
        },
        "uploadport": {
          "type": "integer",
          "description": "TCP port to use for communicating with the FTP server (default = 21).\n"
        },
        "uploadsched": {
          "type": "string",
          "description": "Set the schedule for uploading log files to the FTP server (default = disable = upload when rolling). Valid values: `disable`, `enable`.\n"
        },
        "uploadtime": {
          "type": "string",
          "description": "Time of day at which log files are uploaded if uploadsched is enabled (hh:mm or hh).\n"
        },
        "uploadtype": {
          "type": "string",
          "description": "Types of log files to upload. Separate multiple entries with a space.\n"
        },
        "uploaduser": {
          "type": "string",
          "description": "Username required to log into the FTP server to upload disk log files.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "diskfull",
        "dlpArchiveQuota",
        "fullFinalWarningThreshold",
        "fullFirstWarningThreshold",
        "fullSecondWarningThreshold",
        "interface",
        "interfaceSelectMethod",
        "ipsArchive",
        "logQuota",
        "maxLogFileSize",
        "maxPolicyPacketCaptureSize",
        "maximumLogAge",
        "reportQuota",
        "rollDay",
        "rollSchedule",
        "rollTime",
        "sourceIp",
        "status",
        "upload",
        "uploadDeleteFiles",
        "uploadDestination",
        "uploadSslConn",
        "uploaddir",
        "uploadip",
        "uploadport",
        "uploadsched",
        "uploadtime",
        "uploadtype",
        "uploaduser",
        "vdomparam"
      ],
      "inputProperties": {
        "diskfull": {
          "type": "string",
          "description": "Action to take when disk is full. The system can overwrite the oldest log messages or stop logging when the disk is full (default = overwrite). Valid values: `overwrite`, `nolog`.\n"
        },
        "dlpArchiveQuota": {
          "type": "integer",
          "description": "DLP archive quota (MB).\n"
        },
        "fullFinalWarningThreshold": {
          "type": "integer",
          "description": "Log full final warning threshold as a percent (3 - 100, default = 95).\n"
        },
        "fullFirstWarningThreshold": {
          "type": "integer",
          "description": "Log full first warning threshold as a percent (1 - 98, default = 75).\n"
        },
        "fullSecondWarningThreshold": {
          "type": "integer",
          "description": "Log full second warning threshold as a percent (2 - 99, default = 90).\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archiving to the local disk. Valid values: `enable`, `disable`.\n"
        },
        "logQuota": {
          "type": "integer",
          "description": "Disk log quota (MB).\n"
        },
        "maxLogFileSize": {
          "type": "integer",
          "description": "Maximum log file size before rolling (1 - 100 Mbytes).\n"
        },
        "maxPolicyPacketCaptureSize": {
          "type": "integer",
          "description": "Maximum size of policy sniffer in MB (0 means unlimited).\n"
        },
        "maximumLogAge": {
          "type": "integer",
          "description": "Delete log files older than (days).\n"
        },
        "reportQuota": {
          "type": "integer",
          "description": "Report db quota (MB).\n"
        },
        "rollDay": {
          "type": "string",
          "description": "Day of week on which to roll log file. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
        },
        "rollSchedule": {
          "type": "string",
          "description": "Frequency to check log file for rolling. Valid values: `daily`, `weekly`.\n"
        },
        "rollTime": {
          "type": "string",
          "description": "Time of day to roll the log file (hh:mm).\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IP address to use for uploading disk log files.\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable local disk logging. Valid values: `enable`, `disable`.\n"
        },
        "upload": {
          "type": "string",
          "description": "Enable/disable uploading log files when they are rolled. Valid values: `enable`, `disable`.\n"
        },
        "uploadDeleteFiles": {
          "type": "string",
          "description": "Delete log files after uploading (default = enable). Valid values: `enable`, `disable`.\n"
        },
        "uploadDestination": {
          "type": "string",
          "description": "The type of server to upload log files to. Only FTP is currently supported. Valid values: `ftp-server`.\n"
        },
        "uploadSslConn": {
          "type": "string",
          "description": "Enable/disable encrypted FTPS communication to upload log files. Valid values: `default`, `high`, `low`, `disable`.\n"
        },
        "uploaddir": {
          "type": "string",
          "description": "The remote directory on the FTP server to upload log files to.\n"
        },
        "uploadip": {
          "type": "string",
          "description": "IP address of the FTP server to upload log files to.\n"
        },
        "uploadpass": {
          "type": "string",
          "description": "Password required to log into the FTP server to upload disk log files.\n",
          "secret": true
        },
        "uploadport": {
          "type": "integer",
          "description": "TCP port to use for communicating with the FTP server (default = 21).\n"
        },
        "uploadsched": {
          "type": "string",
          "description": "Set the schedule for uploading log files to the FTP server (default = disable = upload when rolling). Valid values: `disable`, `enable`.\n"
        },
        "uploadtime": {
          "type": "string",
          "description": "Time of day at which log files are uploaded if uploadsched is enabled (hh:mm or hh).\n"
        },
        "uploadtype": {
          "type": "string",
          "description": "Types of log files to upload. Separate multiple entries with a space.\n"
        },
        "uploaduser": {
          "type": "string",
          "description": "Username required to log into the FTP server to upload disk log files.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "status"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "diskfull": {
            "type": "string",
            "description": "Action to take when disk is full. The system can overwrite the oldest log messages or stop logging when the disk is full (default = overwrite). Valid values: `overwrite`, `nolog`.\n"
          },
          "dlpArchiveQuota": {
            "type": "integer",
            "description": "DLP archive quota (MB).\n"
          },
          "fullFinalWarningThreshold": {
            "type": "integer",
            "description": "Log full final warning threshold as a percent (3 - 100, default = 95).\n"
          },
          "fullFirstWarningThreshold": {
            "type": "integer",
            "description": "Log full first warning threshold as a percent (1 - 98, default = 75).\n"
          },
          "fullSecondWarningThreshold": {
            "type": "integer",
            "description": "Log full second warning threshold as a percent (2 - 99, default = 90).\n"
          },
          "interface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "interfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "ipsArchive": {
            "type": "string",
            "description": "Enable/disable IPS packet archiving to the local disk. Valid values: `enable`, `disable`.\n"
          },
          "logQuota": {
            "type": "integer",
            "description": "Disk log quota (MB).\n"
          },
          "maxLogFileSize": {
            "type": "integer",
            "description": "Maximum log file size before rolling (1 - 100 Mbytes).\n"
          },
          "maxPolicyPacketCaptureSize": {
            "type": "integer",
            "description": "Maximum size of policy sniffer in MB (0 means unlimited).\n"
          },
          "maximumLogAge": {
            "type": "integer",
            "description": "Delete log files older than (days).\n"
          },
          "reportQuota": {
            "type": "integer",
            "description": "Report db quota (MB).\n"
          },
          "rollDay": {
            "type": "string",
            "description": "Day of week on which to roll log file. Valid values: `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.\n"
          },
          "rollSchedule": {
            "type": "string",
            "description": "Frequency to check log file for rolling. Valid values: `daily`, `weekly`.\n"
          },
          "rollTime": {
            "type": "string",
            "description": "Time of day to roll the log file (hh:mm).\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IP address to use for uploading disk log files.\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable local disk logging. Valid values: `enable`, `disable`.\n"
          },
          "upload": {
            "type": "string",
            "description": "Enable/disable uploading log files when they are rolled. Valid values: `enable`, `disable`.\n"
          },
          "uploadDeleteFiles": {
            "type": "string",
            "description": "Delete log files after uploading (default = enable). Valid values: `enable`, `disable`.\n"
          },
          "uploadDestination": {
            "type": "string",
            "description": "The type of server to upload log files to. Only FTP is currently supported. Valid values: `ftp-server`.\n"
          },
          "uploadSslConn": {
            "type": "string",
            "description": "Enable/disable encrypted FTPS communication to upload log files. Valid values: `default`, `high`, `low`, `disable`.\n"
          },
          "uploaddir": {
            "type": "string",
            "description": "The remote directory on the FTP server to upload log files to.\n"
          },
          "uploadip": {
            "type": "string",
            "description": "IP address of the FTP server to upload log files to.\n"
          },
          "uploadpass": {
            "type": "string",
            "description": "Password required to log into the FTP server to upload disk log files.\n",
            "secret": true
          },
          "uploadport": {
            "type": "integer",
            "description": "TCP port to use for communicating with the FTP server (default = 21).\n"
          },
          "uploadsched": {
            "type": "string",
            "description": "Set the schedule for uploading log files to the FTP server (default = disable = upload when rolling). Valid values: `disable`, `enable`.\n"
          },
          "uploadtime": {
            "type": "string",
            "description": "Time of day at which log files are uploaded if uploadsched is enabled (hh:mm or hh).\n"
          },
          "uploadtype": {
            "type": "string",
            "description": "Types of log files to upload. Separate multiple entries with a space.\n"
          },
          "uploaduser": {
            "type": "string",
            "description": "Username required to log into the FTP server to upload disk log files.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:log/eventfilter:Eventfilter": {
      "description": "Configure log event filters.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.Eventfilter(\"trname\", {\n    complianceCheck: \"enable\",\n    endpoint: \"enable\",\n    event: \"enable\",\n    ha: \"enable\",\n    router: \"enable\",\n    securityRating: \"enable\",\n    system: \"enable\",\n    user: \"enable\",\n    vpn: \"enable\",\n    wanOpt: \"enable\",\n    wirelessActivity: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.Eventfilter(\"trname\",\n    compliance_check=\"enable\",\n    endpoint=\"enable\",\n    event=\"enable\",\n    ha=\"enable\",\n    router=\"enable\",\n    security_rating=\"enable\",\n    system=\"enable\",\n    user=\"enable\",\n    vpn=\"enable\",\n    wan_opt=\"enable\",\n    wireless_activity=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Eventfilter(\"trname\", new()\n    {\n        ComplianceCheck = \"enable\",\n        Endpoint = \"enable\",\n        Event = \"enable\",\n        Ha = \"enable\",\n        Router = \"enable\",\n        SecurityRating = \"enable\",\n        System = \"enable\",\n        User = \"enable\",\n        Vpn = \"enable\",\n        WanOpt = \"enable\",\n        WirelessActivity = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewEventfilter(ctx, \"trname\", &log.EventfilterArgs{\n\t\t\tComplianceCheck:  pulumi.String(\"enable\"),\n\t\t\tEndpoint:         pulumi.String(\"enable\"),\n\t\t\tEvent:            pulumi.String(\"enable\"),\n\t\t\tHa:               pulumi.String(\"enable\"),\n\t\t\tRouter:           pulumi.String(\"enable\"),\n\t\t\tSecurityRating:   pulumi.String(\"enable\"),\n\t\t\tSystem:           pulumi.String(\"enable\"),\n\t\t\tUser:             pulumi.String(\"enable\"),\n\t\t\tVpn:              pulumi.String(\"enable\"),\n\t\t\tWanOpt:           pulumi.String(\"enable\"),\n\t\t\tWirelessActivity: pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Eventfilter;\nimport com.pulumi.fortios.log.EventfilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Eventfilter(\"trname\", EventfilterArgs.builder()\n            .complianceCheck(\"enable\")\n            .endpoint(\"enable\")\n            .event(\"enable\")\n            .ha(\"enable\")\n            .router(\"enable\")\n            .securityRating(\"enable\")\n            .system(\"enable\")\n            .user(\"enable\")\n            .vpn(\"enable\")\n            .wanOpt(\"enable\")\n            .wirelessActivity(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log:Eventfilter\n    properties:\n      complianceCheck: enable\n      endpoint: enable\n      event: enable\n      ha: enable\n      router: enable\n      securityRating: enable\n      system: enable\n      user: enable\n      vpn: enable\n      wanOpt: enable\n      wirelessActivity: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLog Eventfilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/eventfilter:Eventfilter labelname LogEventfilter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/eventfilter:Eventfilter labelname LogEventfilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "cifs": {
          "type": "string",
          "description": "Enable/disable CIFS logging. Valid values: `enable`, `disable`.\n"
        },
        "complianceCheck": {
          "type": "string",
          "description": "Enable/disable PCI DSS compliance check logging. Valid values: `enable`, `disable`.\n"
        },
        "connector": {
          "type": "string",
          "description": "Enable/disable SDN connector logging. Valid values: `enable`, `disable`.\n"
        },
        "endpoint": {
          "type": "string",
          "description": "Enable/disable endpoint event logging. Valid values: `enable`, `disable`.\n"
        },
        "event": {
          "type": "string",
          "description": "Enable/disable event logging. Valid values: `enable`, `disable`.\n"
        },
        "fortiextender": {
          "type": "string",
          "description": "Enable/disable FortiExtender logging. Valid values: `enable`, `disable`.\n"
        },
        "ha": {
          "type": "string",
          "description": "Enable/disable ha event logging. Valid values: `enable`, `disable`.\n"
        },
        "restApi": {
          "type": "string",
          "description": "Enable/disable REST API logging. Valid values: `enable`, `disable`.\n"
        },
        "router": {
          "type": "string",
          "description": "Enable/disable router event logging. Valid values: `enable`, `disable`.\n"
        },
        "sdwan": {
          "type": "string",
          "description": "Enable/disable SD-WAN logging. Valid values: `enable`, `disable`.\n"
        },
        "securityRating": {
          "type": "string",
          "description": "Enable/disable Security Rating result logging. Valid values: `enable`, `disable`.\n"
        },
        "switchController": {
          "type": "string",
          "description": "Enable/disable Switch-Controller logging. Valid values: `enable`, `disable`.\n"
        },
        "system": {
          "type": "string",
          "description": "Enable/disable system event logging. Valid values: `enable`, `disable`.\n"
        },
        "user": {
          "type": "string",
          "description": "Enable/disable user authentication event logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "vpn": {
          "type": "string",
          "description": "Enable/disable VPN event logging. Valid values: `enable`, `disable`.\n"
        },
        "wanOpt": {
          "type": "string",
          "description": "Enable/disable WAN optimization event logging. Valid values: `enable`, `disable`.\n"
        },
        "webproxy": {
          "type": "string",
          "description": "Enable/disable web proxy event logging. Valid values: `enable`, `disable`.\n"
        },
        "wirelessActivity": {
          "type": "string",
          "description": "Enable/disable wireless event logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "cifs",
        "complianceCheck",
        "connector",
        "endpoint",
        "event",
        "fortiextender",
        "ha",
        "restApi",
        "router",
        "sdwan",
        "securityRating",
        "switchController",
        "system",
        "user",
        "vdomparam",
        "vpn",
        "wanOpt",
        "webproxy",
        "wirelessActivity"
      ],
      "inputProperties": {
        "cifs": {
          "type": "string",
          "description": "Enable/disable CIFS logging. Valid values: `enable`, `disable`.\n"
        },
        "complianceCheck": {
          "type": "string",
          "description": "Enable/disable PCI DSS compliance check logging. Valid values: `enable`, `disable`.\n"
        },
        "connector": {
          "type": "string",
          "description": "Enable/disable SDN connector logging. Valid values: `enable`, `disable`.\n"
        },
        "endpoint": {
          "type": "string",
          "description": "Enable/disable endpoint event logging. Valid values: `enable`, `disable`.\n"
        },
        "event": {
          "type": "string",
          "description": "Enable/disable event logging. Valid values: `enable`, `disable`.\n"
        },
        "fortiextender": {
          "type": "string",
          "description": "Enable/disable FortiExtender logging. Valid values: `enable`, `disable`.\n"
        },
        "ha": {
          "type": "string",
          "description": "Enable/disable ha event logging. Valid values: `enable`, `disable`.\n"
        },
        "restApi": {
          "type": "string",
          "description": "Enable/disable REST API logging. Valid values: `enable`, `disable`.\n"
        },
        "router": {
          "type": "string",
          "description": "Enable/disable router event logging. Valid values: `enable`, `disable`.\n"
        },
        "sdwan": {
          "type": "string",
          "description": "Enable/disable SD-WAN logging. Valid values: `enable`, `disable`.\n"
        },
        "securityRating": {
          "type": "string",
          "description": "Enable/disable Security Rating result logging. Valid values: `enable`, `disable`.\n"
        },
        "switchController": {
          "type": "string",
          "description": "Enable/disable Switch-Controller logging. Valid values: `enable`, `disable`.\n"
        },
        "system": {
          "type": "string",
          "description": "Enable/disable system event logging. Valid values: `enable`, `disable`.\n"
        },
        "user": {
          "type": "string",
          "description": "Enable/disable user authentication event logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "vpn": {
          "type": "string",
          "description": "Enable/disable VPN event logging. Valid values: `enable`, `disable`.\n"
        },
        "wanOpt": {
          "type": "string",
          "description": "Enable/disable WAN optimization event logging. Valid values: `enable`, `disable`.\n"
        },
        "webproxy": {
          "type": "string",
          "description": "Enable/disable web proxy event logging. Valid values: `enable`, `disable`.\n"
        },
        "wirelessActivity": {
          "type": "string",
          "description": "Enable/disable wireless event logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Eventfilter resources.\n",
        "properties": {
          "cifs": {
            "type": "string",
            "description": "Enable/disable CIFS logging. Valid values: `enable`, `disable`.\n"
          },
          "complianceCheck": {
            "type": "string",
            "description": "Enable/disable PCI DSS compliance check logging. Valid values: `enable`, `disable`.\n"
          },
          "connector": {
            "type": "string",
            "description": "Enable/disable SDN connector logging. Valid values: `enable`, `disable`.\n"
          },
          "endpoint": {
            "type": "string",
            "description": "Enable/disable endpoint event logging. Valid values: `enable`, `disable`.\n"
          },
          "event": {
            "type": "string",
            "description": "Enable/disable event logging. Valid values: `enable`, `disable`.\n"
          },
          "fortiextender": {
            "type": "string",
            "description": "Enable/disable FortiExtender logging. Valid values: `enable`, `disable`.\n"
          },
          "ha": {
            "type": "string",
            "description": "Enable/disable ha event logging. Valid values: `enable`, `disable`.\n"
          },
          "restApi": {
            "type": "string",
            "description": "Enable/disable REST API logging. Valid values: `enable`, `disable`.\n"
          },
          "router": {
            "type": "string",
            "description": "Enable/disable router event logging. Valid values: `enable`, `disable`.\n"
          },
          "sdwan": {
            "type": "string",
            "description": "Enable/disable SD-WAN logging. Valid values: `enable`, `disable`.\n"
          },
          "securityRating": {
            "type": "string",
            "description": "Enable/disable Security Rating result logging. Valid values: `enable`, `disable`.\n"
          },
          "switchController": {
            "type": "string",
            "description": "Enable/disable Switch-Controller logging. Valid values: `enable`, `disable`.\n"
          },
          "system": {
            "type": "string",
            "description": "Enable/disable system event logging. Valid values: `enable`, `disable`.\n"
          },
          "user": {
            "type": "string",
            "description": "Enable/disable user authentication event logging. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "vpn": {
            "type": "string",
            "description": "Enable/disable VPN event logging. Valid values: `enable`, `disable`.\n"
          },
          "wanOpt": {
            "type": "string",
            "description": "Enable/disable WAN optimization event logging. Valid values: `enable`, `disable`.\n"
          },
          "webproxy": {
            "type": "string",
            "description": "Enable/disable web proxy event logging. Valid values: `enable`, `disable`.\n"
          },
          "wirelessActivity": {
            "type": "string",
            "description": "Enable/disable wireless event logging. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/cloud/filter:Filter": {
      "description": "Filters for FortiAnalyzer Cloud. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nLogFortianalyzerCloud Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/cloud/filter:Filter labelname LogFortianalyzerCloudFilter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/cloud/filter:Filter labelname LogFortianalyzerCloudFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer Cloud log filter.\n",
          "language": {
            "csharp": {
              "name": "Definition"
            }
          }
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fcloud%2FFilterFreeStyle:FilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "anomaly",
        "dlpArchive",
        "filter",
        "filterType",
        "fortiSwitch",
        "forwardTraffic",
        "gtp",
        "localTraffic",
        "multicastTraffic",
        "severity",
        "snifferTraffic",
        "vdomparam",
        "voip",
        "ztnaTraffic"
      ],
      "inputProperties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer Cloud log filter.\n",
          "language": {
            "csharp": {
              "name": "Definition"
            }
          }
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fcloud%2FFilterFreeStyle:FilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Filter resources.\n",
        "properties": {
          "anomaly": {
            "type": "string",
            "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
          },
          "dlpArchive": {
            "type": "string",
            "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "filter": {
            "type": "string",
            "description": "FortiAnalyzer Cloud log filter.\n",
            "language": {
              "csharp": {
                "name": "Definition"
              }
            }
          },
          "filterType": {
            "type": "string",
            "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
          },
          "fortiSwitch": {
            "type": "string",
            "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
          },
          "forwardTraffic": {
            "type": "string",
            "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "freeStyles": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fcloud%2FFilterFreeStyle:FilterFreeStyle"
            },
            "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gtp": {
            "type": "string",
            "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
          },
          "localTraffic": {
            "type": "string",
            "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "multicastTraffic": {
            "type": "string",
            "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "severity": {
            "type": "string",
            "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "snifferTraffic": {
            "type": "string",
            "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "voip": {
            "type": "string",
            "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
          },
          "ztnaTraffic": {
            "type": "string",
            "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/cloud/overridefilter:Overridefilter": {
      "description": "Override filters for FortiAnalyzer Cloud. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nLogFortianalyzerCloud OverrideFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/cloud/overridefilter:Overridefilter labelname LogFortianalyzerCloudOverrideFilter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/cloud/overridefilter:Overridefilter labelname LogFortianalyzerCloudOverrideFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer Cloud log filter.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fcloud%2FOverridefilterFreeStyle:OverridefilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "anomaly",
        "dlpArchive",
        "filter",
        "filterType",
        "fortiSwitch",
        "forwardTraffic",
        "gtp",
        "localTraffic",
        "multicastTraffic",
        "severity",
        "snifferTraffic",
        "vdomparam",
        "voip",
        "ztnaTraffic"
      ],
      "inputProperties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer Cloud log filter.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fcloud%2FOverridefilterFreeStyle:OverridefilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Overridefilter resources.\n",
        "properties": {
          "anomaly": {
            "type": "string",
            "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
          },
          "dlpArchive": {
            "type": "string",
            "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "filter": {
            "type": "string",
            "description": "FortiAnalyzer Cloud log filter.\n"
          },
          "filterType": {
            "type": "string",
            "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
          },
          "fortiSwitch": {
            "type": "string",
            "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
          },
          "forwardTraffic": {
            "type": "string",
            "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "freeStyles": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fcloud%2FOverridefilterFreeStyle:OverridefilterFreeStyle"
            },
            "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gtp": {
            "type": "string",
            "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
          },
          "localTraffic": {
            "type": "string",
            "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "multicastTraffic": {
            "type": "string",
            "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "severity": {
            "type": "string",
            "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "snifferTraffic": {
            "type": "string",
            "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "voip": {
            "type": "string",
            "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
          },
          "ztnaTraffic": {
            "type": "string",
            "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/cloud/overridesetting:Overridesetting": {
      "description": "Override FortiAnalyzer Cloud settings. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nLogFortianalyzerCloud OverrideSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/cloud/overridesetting:Overridesetting labelname LogFortianalyzerCloudOverrideSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/cloud/overridesetting:Overridesetting labelname LogFortianalyzerCloudOverrideSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "status",
        "vdomparam"
      ],
      "inputProperties": {
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Overridesetting resources.\n",
        "properties": {
          "status": {
            "type": "string",
            "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/cloud/setting:Setting": {
      "description": "Global FortiAnalyzer Cloud settings. Applies to FortiOS Version `>= 6.2.4`.\n\n## Import\n\nLogFortianalyzerCloud Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/cloud/setting:Setting labelname LogFortianalyzerCloudSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/cloud/setting:Setting labelname LogFortianalyzerCloudSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with FortiAnalyzer.\n"
        },
        "certificateVerification": {
          "type": "string",
          "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Configure the level of SSL protection for secure communication with FortiAnalyzer. Valid values: `high-medium`, `high`, `low`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hmacAlgorithm": {
          "type": "string",
          "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
        },
        "monitorFailureRetryPeriod": {
          "type": "integer",
          "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
        },
        "monitorKeepalivePeriod": {
          "type": "integer",
          "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "serials": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fcloud%2FSettingSerial:SettingSerial"
          },
          "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week (month) to upload logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time to upload logs (hh:mm).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "accessConfig",
        "certificate",
        "certificateVerification",
        "connTimeout",
        "encAlgorithm",
        "hmacAlgorithm",
        "interface",
        "interfaceSelectMethod",
        "ipsArchive",
        "maxLogRate",
        "monitorFailureRetryPeriod",
        "monitorKeepalivePeriod",
        "presharedKey",
        "priority",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "uploadDay",
        "uploadInterval",
        "uploadOption",
        "uploadTime",
        "vdomparam"
      ],
      "inputProperties": {
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with FortiAnalyzer.\n"
        },
        "certificateVerification": {
          "type": "string",
          "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Configure the level of SSL protection for secure communication with FortiAnalyzer. Valid values: `high-medium`, `high`, `low`.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hmacAlgorithm": {
          "type": "string",
          "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
        },
        "monitorFailureRetryPeriod": {
          "type": "integer",
          "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
        },
        "monitorKeepalivePeriod": {
          "type": "integer",
          "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "serials": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fcloud%2FSettingSerial:SettingSerial"
          },
          "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week (month) to upload logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time to upload logs (hh:mm).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "accessConfig": {
            "type": "string",
            "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
          },
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with FortiAnalyzer.\n"
          },
          "certificateVerification": {
            "type": "string",
            "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
          },
          "connTimeout": {
            "type": "integer",
            "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Configure the level of SSL protection for secure communication with FortiAnalyzer. Valid values: `high-medium`, `high`, `low`.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "hmacAlgorithm": {
            "type": "string",
            "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
          },
          "interface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "interfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "ipsArchive": {
            "type": "string",
            "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
          },
          "monitorFailureRetryPeriod": {
            "type": "integer",
            "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
          },
          "monitorKeepalivePeriod": {
            "type": "integer",
            "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
          },
          "presharedKey": {
            "type": "string",
            "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "serials": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fcloud%2FSettingSerial:SettingSerial"
            },
            "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "uploadDay": {
            "type": "string",
            "description": "Day of week (month) to upload logs.\n"
          },
          "uploadInterval": {
            "type": "string",
            "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
          },
          "uploadOption": {
            "type": "string",
            "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
          },
          "uploadTime": {
            "type": "string",
            "description": "Time to upload logs (hh:mm).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/filter:Filter": {
      "description": "Filters for FortiAnalyzer.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.fortianalyzer.Filter(\"trname\", {\n    anomaly: \"enable\",\n    dlpArchive: \"enable\",\n    dns: \"enable\",\n    filterType: \"include\",\n    forwardTraffic: \"enable\",\n    gtp: \"enable\",\n    localTraffic: \"enable\",\n    multicastTraffic: \"enable\",\n    severity: \"information\",\n    snifferTraffic: \"enable\",\n    ssh: \"enable\",\n    voip: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortianalyzer.Filter(\"trname\",\n    anomaly=\"enable\",\n    dlp_archive=\"enable\",\n    dns=\"enable\",\n    filter_type=\"include\",\n    forward_traffic=\"enable\",\n    gtp=\"enable\",\n    local_traffic=\"enable\",\n    multicast_traffic=\"enable\",\n    severity=\"information\",\n    sniffer_traffic=\"enable\",\n    ssh=\"enable\",\n    voip=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Fortianalyzer.Filter(\"trname\", new()\n    {\n        Anomaly = \"enable\",\n        DlpArchive = \"enable\",\n        Dns = \"enable\",\n        FilterType = \"include\",\n        ForwardTraffic = \"enable\",\n        Gtp = \"enable\",\n        LocalTraffic = \"enable\",\n        MulticastTraffic = \"enable\",\n        Severity = \"information\",\n        SnifferTraffic = \"enable\",\n        Ssh = \"enable\",\n        Voip = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewFilter(ctx, \"trname\", &log.FilterArgs{\n\t\t\tAnomaly:          pulumi.String(\"enable\"),\n\t\t\tDlpArchive:       pulumi.String(\"enable\"),\n\t\t\tDns:              pulumi.String(\"enable\"),\n\t\t\tFilterType:       pulumi.String(\"include\"),\n\t\t\tForwardTraffic:   pulumi.String(\"enable\"),\n\t\t\tGtp:              pulumi.String(\"enable\"),\n\t\t\tLocalTraffic:     pulumi.String(\"enable\"),\n\t\t\tMulticastTraffic: pulumi.String(\"enable\"),\n\t\t\tSeverity:         pulumi.String(\"information\"),\n\t\t\tSnifferTraffic:   pulumi.String(\"enable\"),\n\t\t\tSsh:              pulumi.String(\"enable\"),\n\t\t\tVoip:             pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Filter;\nimport com.pulumi.fortios.log.FilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Filter(\"trname\", FilterArgs.builder()\n            .anomaly(\"enable\")\n            .dlpArchive(\"enable\")\n            .dns(\"enable\")\n            .filterType(\"include\")\n            .forwardTraffic(\"enable\")\n            .gtp(\"enable\")\n            .localTraffic(\"enable\")\n            .multicastTraffic(\"enable\")\n            .severity(\"information\")\n            .snifferTraffic(\"enable\")\n            .ssh(\"enable\")\n            .voip(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortianalyzer:Filter\n    properties:\n      anomaly: enable\n      dlpArchive: enable\n      dns: enable\n      filterType: include\n      forwardTraffic: enable\n      gtp: enable\n      localTraffic: enable\n      multicastTraffic: enable\n      severity: information\n      snifferTraffic: enable\n      ssh: enable\n      voip: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortianalyzer Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/filter:Filter labelname LogFortianalyzerFilter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/filter:Filter labelname LogFortianalyzerFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer log filter.\n",
          "language": {
            "csharp": {
              "name": "Definition"
            }
          }
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2FFilterFreeStyle:FilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "anomaly",
        "dlpArchive",
        "dns",
        "filter",
        "filterType",
        "fortiSwitch",
        "forwardTraffic",
        "gtp",
        "localTraffic",
        "multicastTraffic",
        "netscanDiscovery",
        "netscanVulnerability",
        "severity",
        "snifferTraffic",
        "ssh",
        "vdomparam",
        "voip",
        "ztnaTraffic"
      ],
      "inputProperties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer log filter.\n",
          "language": {
            "csharp": {
              "name": "Definition"
            }
          }
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2FFilterFreeStyle:FilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Filter resources.\n",
        "properties": {
          "anomaly": {
            "type": "string",
            "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
          },
          "dlpArchive": {
            "type": "string",
            "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
          },
          "dns": {
            "type": "string",
            "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "filter": {
            "type": "string",
            "description": "FortiAnalyzer log filter.\n",
            "language": {
              "csharp": {
                "name": "Definition"
              }
            }
          },
          "filterType": {
            "type": "string",
            "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
          },
          "fortiSwitch": {
            "type": "string",
            "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
          },
          "forwardTraffic": {
            "type": "string",
            "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "freeStyles": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2FFilterFreeStyle:FilterFreeStyle"
            },
            "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gtp": {
            "type": "string",
            "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
          },
          "localTraffic": {
            "type": "string",
            "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "multicastTraffic": {
            "type": "string",
            "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "netscanDiscovery": {
            "type": "string",
            "description": "Enable/disable netscan discovery event logging.\n"
          },
          "netscanVulnerability": {
            "type": "string",
            "description": "Enable/disable netscan vulnerability event logging.\n"
          },
          "severity": {
            "type": "string",
            "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "snifferTraffic": {
            "type": "string",
            "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "ssh": {
            "type": "string",
            "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "voip": {
            "type": "string",
            "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
          },
          "ztnaTraffic": {
            "type": "string",
            "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/overridefilter:Overridefilter": {
      "description": "Override filters for FortiAnalyzer.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.fortianalyzer.Overridefilter(\"trname\", {\n    anomaly: \"enable\",\n    dlpArchive: \"enable\",\n    dns: \"enable\",\n    filterType: \"include\",\n    forwardTraffic: \"enable\",\n    gtp: \"enable\",\n    localTraffic: \"enable\",\n    multicastTraffic: \"enable\",\n    severity: \"information\",\n    snifferTraffic: \"enable\",\n    ssh: \"enable\",\n    voip: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortianalyzer.Overridefilter(\"trname\",\n    anomaly=\"enable\",\n    dlp_archive=\"enable\",\n    dns=\"enable\",\n    filter_type=\"include\",\n    forward_traffic=\"enable\",\n    gtp=\"enable\",\n    local_traffic=\"enable\",\n    multicast_traffic=\"enable\",\n    severity=\"information\",\n    sniffer_traffic=\"enable\",\n    ssh=\"enable\",\n    voip=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Fortianalyzer.Overridefilter(\"trname\", new()\n    {\n        Anomaly = \"enable\",\n        DlpArchive = \"enable\",\n        Dns = \"enable\",\n        FilterType = \"include\",\n        ForwardTraffic = \"enable\",\n        Gtp = \"enable\",\n        LocalTraffic = \"enable\",\n        MulticastTraffic = \"enable\",\n        Severity = \"information\",\n        SnifferTraffic = \"enable\",\n        Ssh = \"enable\",\n        Voip = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewOverridefilter(ctx, \"trname\", &log.OverridefilterArgs{\n\t\t\tAnomaly:          pulumi.String(\"enable\"),\n\t\t\tDlpArchive:       pulumi.String(\"enable\"),\n\t\t\tDns:              pulumi.String(\"enable\"),\n\t\t\tFilterType:       pulumi.String(\"include\"),\n\t\t\tForwardTraffic:   pulumi.String(\"enable\"),\n\t\t\tGtp:              pulumi.String(\"enable\"),\n\t\t\tLocalTraffic:     pulumi.String(\"enable\"),\n\t\t\tMulticastTraffic: pulumi.String(\"enable\"),\n\t\t\tSeverity:         pulumi.String(\"information\"),\n\t\t\tSnifferTraffic:   pulumi.String(\"enable\"),\n\t\t\tSsh:              pulumi.String(\"enable\"),\n\t\t\tVoip:             pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Overridefilter;\nimport com.pulumi.fortios.log.OverridefilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Overridefilter(\"trname\", OverridefilterArgs.builder()\n            .anomaly(\"enable\")\n            .dlpArchive(\"enable\")\n            .dns(\"enable\")\n            .filterType(\"include\")\n            .forwardTraffic(\"enable\")\n            .gtp(\"enable\")\n            .localTraffic(\"enable\")\n            .multicastTraffic(\"enable\")\n            .severity(\"information\")\n            .snifferTraffic(\"enable\")\n            .ssh(\"enable\")\n            .voip(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortianalyzer:Overridefilter\n    properties:\n      anomaly: enable\n      dlpArchive: enable\n      dns: enable\n      filterType: include\n      forwardTraffic: enable\n      gtp: enable\n      localTraffic: enable\n      multicastTraffic: enable\n      severity: information\n      snifferTraffic: enable\n      ssh: enable\n      voip: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortianalyzer OverrideFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/overridefilter:Overridefilter labelname LogFortianalyzerOverrideFilter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/overridefilter:Overridefilter labelname LogFortianalyzerOverrideFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer log filter.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2FOverridefilterFreeStyle:OverridefilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "anomaly",
        "dlpArchive",
        "dns",
        "filter",
        "filterType",
        "fortiSwitch",
        "forwardTraffic",
        "gtp",
        "localTraffic",
        "multicastTraffic",
        "netscanDiscovery",
        "netscanVulnerability",
        "severity",
        "snifferTraffic",
        "ssh",
        "vdomparam",
        "voip",
        "ztnaTraffic"
      ],
      "inputProperties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer log filter.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2FOverridefilterFreeStyle:OverridefilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Overridefilter resources.\n",
        "properties": {
          "anomaly": {
            "type": "string",
            "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
          },
          "dlpArchive": {
            "type": "string",
            "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
          },
          "dns": {
            "type": "string",
            "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "filter": {
            "type": "string",
            "description": "FortiAnalyzer log filter.\n"
          },
          "filterType": {
            "type": "string",
            "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
          },
          "fortiSwitch": {
            "type": "string",
            "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
          },
          "forwardTraffic": {
            "type": "string",
            "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "freeStyles": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2FOverridefilterFreeStyle:OverridefilterFreeStyle"
            },
            "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gtp": {
            "type": "string",
            "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
          },
          "localTraffic": {
            "type": "string",
            "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "multicastTraffic": {
            "type": "string",
            "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "netscanDiscovery": {
            "type": "string",
            "description": "Enable/disable netscan discovery event logging.\n"
          },
          "netscanVulnerability": {
            "type": "string",
            "description": "Enable/disable netscan vulnerability event logging.\n"
          },
          "severity": {
            "type": "string",
            "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "snifferTraffic": {
            "type": "string",
            "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "ssh": {
            "type": "string",
            "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "voip": {
            "type": "string",
            "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
          },
          "ztnaTraffic": {
            "type": "string",
            "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/overridesetting:Overridesetting": {
      "description": "Override FortiAnalyzer settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.fortianalyzer.Overridesetting(\"trname\", {\n    __changeIp: 0,\n    connTimeout: 10,\n    encAlgorithm: \"high\",\n    fazType: 4,\n    hmacAlgorithm: \"sha256\",\n    ipsArchive: \"enable\",\n    monitorFailureRetryPeriod: 5,\n    monitorKeepalivePeriod: 5,\n    override: \"disable\",\n    reliable: \"disable\",\n    sslMinProtoVersion: \"default\",\n    status: \"disable\",\n    uploadInterval: \"daily\",\n    uploadOption: \"5-minute\",\n    uploadTime: \"00:59\",\n    useManagementVdom: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortianalyzer.Overridesetting(\"trname\",\n    __change_ip=0,\n    conn_timeout=10,\n    enc_algorithm=\"high\",\n    faz_type=4,\n    hmac_algorithm=\"sha256\",\n    ips_archive=\"enable\",\n    monitor_failure_retry_period=5,\n    monitor_keepalive_period=5,\n    override=\"disable\",\n    reliable=\"disable\",\n    ssl_min_proto_version=\"default\",\n    status=\"disable\",\n    upload_interval=\"daily\",\n    upload_option=\"5-minute\",\n    upload_time=\"00:59\",\n    use_management_vdom=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Fortianalyzer.Overridesetting(\"trname\", new()\n    {\n        __changeIp = 0,\n        ConnTimeout = 10,\n        EncAlgorithm = \"high\",\n        FazType = 4,\n        HmacAlgorithm = \"sha256\",\n        IpsArchive = \"enable\",\n        MonitorFailureRetryPeriod = 5,\n        MonitorKeepalivePeriod = 5,\n        Override = \"disable\",\n        Reliable = \"disable\",\n        SslMinProtoVersion = \"default\",\n        Status = \"disable\",\n        UploadInterval = \"daily\",\n        UploadOption = \"5-minute\",\n        UploadTime = \"00:59\",\n        UseManagementVdom = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewOverridesetting(ctx, \"trname\", &log.OverridesettingArgs{\n\t\t\t__changeIp:                pulumi.Int(0),\n\t\t\tConnTimeout:               pulumi.Int(10),\n\t\t\tEncAlgorithm:              pulumi.String(\"high\"),\n\t\t\tFazType:                   pulumi.Int(4),\n\t\t\tHmacAlgorithm:             pulumi.String(\"sha256\"),\n\t\t\tIpsArchive:                pulumi.String(\"enable\"),\n\t\t\tMonitorFailureRetryPeriod: pulumi.Int(5),\n\t\t\tMonitorKeepalivePeriod:    pulumi.Int(5),\n\t\t\tOverride:                  pulumi.String(\"disable\"),\n\t\t\tReliable:                  pulumi.String(\"disable\"),\n\t\t\tSslMinProtoVersion:        pulumi.String(\"default\"),\n\t\t\tStatus:                    pulumi.String(\"disable\"),\n\t\t\tUploadInterval:            pulumi.String(\"daily\"),\n\t\t\tUploadOption:              pulumi.String(\"5-minute\"),\n\t\t\tUploadTime:                pulumi.String(\"00:59\"),\n\t\t\tUseManagementVdom:         pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Overridesetting;\nimport com.pulumi.fortios.log.OverridesettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Overridesetting(\"trname\", OverridesettingArgs.builder()\n            .__changeIp(0)\n            .connTimeout(10)\n            .encAlgorithm(\"high\")\n            .fazType(4)\n            .hmacAlgorithm(\"sha256\")\n            .ipsArchive(\"enable\")\n            .monitorFailureRetryPeriod(5)\n            .monitorKeepalivePeriod(5)\n            .override(\"disable\")\n            .reliable(\"disable\")\n            .sslMinProtoVersion(\"default\")\n            .status(\"disable\")\n            .uploadInterval(\"daily\")\n            .uploadOption(\"5-minute\")\n            .uploadTime(\"00:59\")\n            .useManagementVdom(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortianalyzer:Overridesetting\n    properties:\n      __changeIp: 0\n      connTimeout: 10\n      encAlgorithm: high\n      fazType: 4\n      hmacAlgorithm: sha256\n      ipsArchive: enable\n      monitorFailureRetryPeriod: 5\n      monitorKeepalivePeriod: 5\n      override: disable\n      reliable: disable\n      sslMinProtoVersion: default\n      status: disable\n      uploadInterval: daily\n      uploadOption: 5-minute\n      uploadTime: 00:59\n      useManagementVdom: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortianalyzer OverrideSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/overridesetting:Overridesetting labelname LogFortianalyzerOverrideSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/overridesetting:Overridesetting labelname LogFortianalyzerOverrideSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "__changeIp": {
          "type": "integer",
          "description": "Hidden attribute.\n"
        },
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "altServer": {
          "type": "string",
          "description": "Alternate FortiAnalyzer.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with FortiAnalyzer.\n"
        },
        "certificateVerification": {
          "type": "string",
          "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
        },
        "fallbackToPrimary": {
          "type": "string",
          "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
        },
        "fazType": {
          "type": "integer",
          "description": "Hidden setting index of FortiAnalyzer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hmacAlgorithm": {
          "type": "string",
          "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
        },
        "mgmtName": {
          "type": "string",
          "description": "Hidden management name of FortiAnalyzer.\n"
        },
        "monitorFailureRetryPeriod": {
          "type": "integer",
          "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
        },
        "monitorKeepalivePeriod": {
          "type": "integer",
          "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable overriding FortiAnalyzer settings or use global settings. Valid values: `enable`, `disable`.\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "reliable": {
          "type": "string",
          "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "serials": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2FOverridesettingSerial:OverridesettingSerial"
          },
          "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
        },
        "server": {
          "type": "string",
          "description": "The remote FortiAnalyzer.\n"
        },
        "serverCertCa": {
          "type": "string",
          "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week (month) to upload logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time to upload logs (hh:mm).\n"
        },
        "useManagementVdom": {
          "type": "string",
          "description": "Enable/disable use of management VDOM IP address as source IP for logs sent to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "__changeIp",
        "accessConfig",
        "altServer",
        "certificate",
        "certificateVerification",
        "connTimeout",
        "encAlgorithm",
        "fallbackToPrimary",
        "fazType",
        "hmacAlgorithm",
        "interface",
        "interfaceSelectMethod",
        "ipsArchive",
        "maxLogRate",
        "mgmtName",
        "monitorFailureRetryPeriod",
        "monitorKeepalivePeriod",
        "override",
        "presharedKey",
        "priority",
        "reliable",
        "server",
        "serverCertCa",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "uploadDay",
        "uploadInterval",
        "uploadOption",
        "uploadTime",
        "useManagementVdom",
        "vdomparam"
      ],
      "inputProperties": {
        "__changeIp": {
          "type": "integer",
          "description": "Hidden attribute.\n"
        },
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "altServer": {
          "type": "string",
          "description": "Alternate FortiAnalyzer.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with FortiAnalyzer.\n"
        },
        "certificateVerification": {
          "type": "string",
          "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
        },
        "fallbackToPrimary": {
          "type": "string",
          "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
        },
        "fazType": {
          "type": "integer",
          "description": "Hidden setting index of FortiAnalyzer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hmacAlgorithm": {
          "type": "string",
          "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
        },
        "mgmtName": {
          "type": "string",
          "description": "Hidden management name of FortiAnalyzer.\n"
        },
        "monitorFailureRetryPeriod": {
          "type": "integer",
          "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
        },
        "monitorKeepalivePeriod": {
          "type": "integer",
          "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable overriding FortiAnalyzer settings or use global settings. Valid values: `enable`, `disable`.\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "reliable": {
          "type": "string",
          "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "serials": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2FOverridesettingSerial:OverridesettingSerial"
          },
          "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
        },
        "server": {
          "type": "string",
          "description": "The remote FortiAnalyzer.\n"
        },
        "serverCertCa": {
          "type": "string",
          "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week (month) to upload logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time to upload logs (hh:mm).\n"
        },
        "useManagementVdom": {
          "type": "string",
          "description": "Enable/disable use of management VDOM IP address as source IP for logs sent to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Overridesetting resources.\n",
        "properties": {
          "__changeIp": {
            "type": "integer",
            "description": "Hidden attribute.\n"
          },
          "accessConfig": {
            "type": "string",
            "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
          },
          "altServer": {
            "type": "string",
            "description": "Alternate FortiAnalyzer.\n"
          },
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with FortiAnalyzer.\n"
          },
          "certificateVerification": {
            "type": "string",
            "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
          },
          "connTimeout": {
            "type": "integer",
            "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
          },
          "fallbackToPrimary": {
            "type": "string",
            "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
          },
          "fazType": {
            "type": "integer",
            "description": "Hidden setting index of FortiAnalyzer.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "hmacAlgorithm": {
            "type": "string",
            "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
          },
          "interface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "interfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "ipsArchive": {
            "type": "string",
            "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
          },
          "mgmtName": {
            "type": "string",
            "description": "Hidden management name of FortiAnalyzer.\n"
          },
          "monitorFailureRetryPeriod": {
            "type": "integer",
            "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
          },
          "monitorKeepalivePeriod": {
            "type": "integer",
            "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
          },
          "override": {
            "type": "string",
            "description": "Enable/disable overriding FortiAnalyzer settings or use global settings. Valid values: `enable`, `disable`.\n"
          },
          "presharedKey": {
            "type": "string",
            "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "reliable": {
            "type": "string",
            "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "serials": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2FOverridesettingSerial:OverridesettingSerial"
            },
            "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
          },
          "server": {
            "type": "string",
            "description": "The remote FortiAnalyzer.\n"
          },
          "serverCertCa": {
            "type": "string",
            "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "uploadDay": {
            "type": "string",
            "description": "Day of week (month) to upload logs.\n"
          },
          "uploadInterval": {
            "type": "string",
            "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
          },
          "uploadOption": {
            "type": "string",
            "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
          },
          "uploadTime": {
            "type": "string",
            "description": "Time to upload logs (hh:mm).\n"
          },
          "useManagementVdom": {
            "type": "string",
            "description": "Enable/disable use of management VDOM IP address as source IP for logs sent to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/setting:Setting": {
      "description": "Global FortiAnalyzer settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.fortianalyzer.Setting(\"trname\", {\n    __changeIp: 0,\n    connTimeout: 10,\n    encAlgorithm: \"high\",\n    fazType: 1,\n    hmacAlgorithm: \"sha256\",\n    ipsArchive: \"enable\",\n    mgmtName: \"FGh_Log1\",\n    monitorFailureRetryPeriod: 5,\n    monitorKeepalivePeriod: 5,\n    reliable: \"disable\",\n    sslMinProtoVersion: \"default\",\n    status: \"disable\",\n    uploadInterval: \"daily\",\n    uploadOption: \"5-minute\",\n    uploadTime: \"00:59\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortianalyzer.Setting(\"trname\",\n    __change_ip=0,\n    conn_timeout=10,\n    enc_algorithm=\"high\",\n    faz_type=1,\n    hmac_algorithm=\"sha256\",\n    ips_archive=\"enable\",\n    mgmt_name=\"FGh_Log1\",\n    monitor_failure_retry_period=5,\n    monitor_keepalive_period=5,\n    reliable=\"disable\",\n    ssl_min_proto_version=\"default\",\n    status=\"disable\",\n    upload_interval=\"daily\",\n    upload_option=\"5-minute\",\n    upload_time=\"00:59\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Fortianalyzer.Setting(\"trname\", new()\n    {\n        __changeIp = 0,\n        ConnTimeout = 10,\n        EncAlgorithm = \"high\",\n        FazType = 1,\n        HmacAlgorithm = \"sha256\",\n        IpsArchive = \"enable\",\n        MgmtName = \"FGh_Log1\",\n        MonitorFailureRetryPeriod = 5,\n        MonitorKeepalivePeriod = 5,\n        Reliable = \"disable\",\n        SslMinProtoVersion = \"default\",\n        Status = \"disable\",\n        UploadInterval = \"daily\",\n        UploadOption = \"5-minute\",\n        UploadTime = \"00:59\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewSetting(ctx, \"trname\", &log.SettingArgs{\n\t\t\t__changeIp:                pulumi.Int(0),\n\t\t\tConnTimeout:               pulumi.Int(10),\n\t\t\tEncAlgorithm:              pulumi.String(\"high\"),\n\t\t\tFazType:                   pulumi.Int(1),\n\t\t\tHmacAlgorithm:             pulumi.String(\"sha256\"),\n\t\t\tIpsArchive:                pulumi.String(\"enable\"),\n\t\t\tMgmtName:                  pulumi.String(\"FGh_Log1\"),\n\t\t\tMonitorFailureRetryPeriod: pulumi.Int(5),\n\t\t\tMonitorKeepalivePeriod:    pulumi.Int(5),\n\t\t\tReliable:                  pulumi.String(\"disable\"),\n\t\t\tSslMinProtoVersion:        pulumi.String(\"default\"),\n\t\t\tStatus:                    pulumi.String(\"disable\"),\n\t\t\tUploadInterval:            pulumi.String(\"daily\"),\n\t\t\tUploadOption:              pulumi.String(\"5-minute\"),\n\t\t\tUploadTime:                pulumi.String(\"00:59\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Setting;\nimport com.pulumi.fortios.log.SettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Setting(\"trname\", SettingArgs.builder()\n            .__changeIp(0)\n            .connTimeout(10)\n            .encAlgorithm(\"high\")\n            .fazType(1)\n            .hmacAlgorithm(\"sha256\")\n            .ipsArchive(\"enable\")\n            .mgmtName(\"FGh_Log1\")\n            .monitorFailureRetryPeriod(5)\n            .monitorKeepalivePeriod(5)\n            .reliable(\"disable\")\n            .sslMinProtoVersion(\"default\")\n            .status(\"disable\")\n            .uploadInterval(\"daily\")\n            .uploadOption(\"5-minute\")\n            .uploadTime(\"00:59\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortianalyzer:Setting\n    properties:\n      __changeIp: 0\n      connTimeout: 10\n      encAlgorithm: high\n      fazType: 1\n      hmacAlgorithm: sha256\n      ipsArchive: enable\n      mgmtName: FGh_Log1\n      monitorFailureRetryPeriod: 5\n      monitorKeepalivePeriod: 5\n      reliable: disable\n      sslMinProtoVersion: default\n      status: disable\n      uploadInterval: daily\n      uploadOption: 5-minute\n      uploadTime: 00:59\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortianalyzer Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/setting:Setting labelname LogFortianalyzerSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/setting:Setting labelname LogFortianalyzerSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "__changeIp": {
          "type": "integer",
          "description": "Hidden attribute.\n"
        },
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "altServer": {
          "type": "string",
          "description": "Alternate FortiAnalyzer.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with FortiAnalyzer.\n"
        },
        "certificateVerification": {
          "type": "string",
          "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
        },
        "fallbackToPrimary": {
          "type": "string",
          "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
        },
        "fazType": {
          "type": "integer",
          "description": "Hidden setting index of FortiAnalyzer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hmacAlgorithm": {
          "type": "string",
          "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
        },
        "mgmtName": {
          "type": "string",
          "description": "Hidden management name of FortiAnalyzer.\n"
        },
        "monitorFailureRetryPeriod": {
          "type": "integer",
          "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
        },
        "monitorKeepalivePeriod": {
          "type": "integer",
          "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "reliable": {
          "type": "string",
          "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "serials": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2FSettingSerial:SettingSerial"
          },
          "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
        },
        "server": {
          "type": "string",
          "description": "The remote FortiAnalyzer.\n"
        },
        "serverCertCa": {
          "type": "string",
          "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week (month) to upload logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time to upload logs (hh:mm).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "__changeIp",
        "accessConfig",
        "altServer",
        "certificate",
        "certificateVerification",
        "connTimeout",
        "encAlgorithm",
        "fallbackToPrimary",
        "fazType",
        "hmacAlgorithm",
        "interface",
        "interfaceSelectMethod",
        "ipsArchive",
        "maxLogRate",
        "mgmtName",
        "monitorFailureRetryPeriod",
        "monitorKeepalivePeriod",
        "presharedKey",
        "priority",
        "reliable",
        "server",
        "serverCertCa",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "uploadDay",
        "uploadInterval",
        "uploadOption",
        "uploadTime",
        "vdomparam"
      ],
      "inputProperties": {
        "__changeIp": {
          "type": "integer",
          "description": "Hidden attribute.\n"
        },
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "altServer": {
          "type": "string",
          "description": "Alternate FortiAnalyzer.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with FortiAnalyzer.\n"
        },
        "certificateVerification": {
          "type": "string",
          "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
        },
        "fallbackToPrimary": {
          "type": "string",
          "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
        },
        "fazType": {
          "type": "integer",
          "description": "Hidden setting index of FortiAnalyzer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hmacAlgorithm": {
          "type": "string",
          "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
        },
        "mgmtName": {
          "type": "string",
          "description": "Hidden management name of FortiAnalyzer.\n"
        },
        "monitorFailureRetryPeriod": {
          "type": "integer",
          "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
        },
        "monitorKeepalivePeriod": {
          "type": "integer",
          "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "reliable": {
          "type": "string",
          "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "serials": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2FSettingSerial:SettingSerial"
          },
          "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
        },
        "server": {
          "type": "string",
          "description": "The remote FortiAnalyzer.\n"
        },
        "serverCertCa": {
          "type": "string",
          "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week (month) to upload logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time to upload logs (hh:mm).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "__changeIp": {
            "type": "integer",
            "description": "Hidden attribute.\n"
          },
          "accessConfig": {
            "type": "string",
            "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
          },
          "altServer": {
            "type": "string",
            "description": "Alternate FortiAnalyzer.\n"
          },
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with FortiAnalyzer.\n"
          },
          "certificateVerification": {
            "type": "string",
            "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
          },
          "connTimeout": {
            "type": "integer",
            "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
          },
          "fallbackToPrimary": {
            "type": "string",
            "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
          },
          "fazType": {
            "type": "integer",
            "description": "Hidden setting index of FortiAnalyzer.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "hmacAlgorithm": {
            "type": "string",
            "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
          },
          "interface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "interfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "ipsArchive": {
            "type": "string",
            "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
          },
          "mgmtName": {
            "type": "string",
            "description": "Hidden management name of FortiAnalyzer.\n"
          },
          "monitorFailureRetryPeriod": {
            "type": "integer",
            "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
          },
          "monitorKeepalivePeriod": {
            "type": "integer",
            "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
          },
          "presharedKey": {
            "type": "string",
            "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "reliable": {
            "type": "string",
            "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "serials": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2FSettingSerial:SettingSerial"
            },
            "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
          },
          "server": {
            "type": "string",
            "description": "The remote FortiAnalyzer.\n"
          },
          "serverCertCa": {
            "type": "string",
            "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "uploadDay": {
            "type": "string",
            "description": "Day of week (month) to upload logs.\n"
          },
          "uploadInterval": {
            "type": "string",
            "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
          },
          "uploadOption": {
            "type": "string",
            "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
          },
          "uploadTime": {
            "type": "string",
            "description": "Time to upload logs (hh:mm).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/v2/filter:Filter": {
      "description": "Filters for FortiAnalyzer.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.fortianalyzer.v2.Filter(\"trname\", {\n    anomaly: \"enable\",\n    dlpArchive: \"enable\",\n    dns: \"enable\",\n    filterType: \"include\",\n    forwardTraffic: \"enable\",\n    gtp: \"enable\",\n    localTraffic: \"enable\",\n    multicastTraffic: \"enable\",\n    severity: \"information\",\n    snifferTraffic: \"enable\",\n    ssh: \"enable\",\n    voip: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortianalyzer.v2.Filter(\"trname\",\n    anomaly=\"enable\",\n    dlp_archive=\"enable\",\n    dns=\"enable\",\n    filter_type=\"include\",\n    forward_traffic=\"enable\",\n    gtp=\"enable\",\n    local_traffic=\"enable\",\n    multicast_traffic=\"enable\",\n    severity=\"information\",\n    sniffer_traffic=\"enable\",\n    ssh=\"enable\",\n    voip=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Fortianalyzer.V2.Filter(\"trname\", new()\n    {\n        Anomaly = \"enable\",\n        DlpArchive = \"enable\",\n        Dns = \"enable\",\n        FilterType = \"include\",\n        ForwardTraffic = \"enable\",\n        Gtp = \"enable\",\n        LocalTraffic = \"enable\",\n        MulticastTraffic = \"enable\",\n        Severity = \"information\",\n        SnifferTraffic = \"enable\",\n        Ssh = \"enable\",\n        Voip = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewFilter(ctx, \"trname\", &log.FilterArgs{\n\t\t\tAnomaly:          pulumi.String(\"enable\"),\n\t\t\tDlpArchive:       pulumi.String(\"enable\"),\n\t\t\tDns:              pulumi.String(\"enable\"),\n\t\t\tFilterType:       pulumi.String(\"include\"),\n\t\t\tForwardTraffic:   pulumi.String(\"enable\"),\n\t\t\tGtp:              pulumi.String(\"enable\"),\n\t\t\tLocalTraffic:     pulumi.String(\"enable\"),\n\t\t\tMulticastTraffic: pulumi.String(\"enable\"),\n\t\t\tSeverity:         pulumi.String(\"information\"),\n\t\t\tSnifferTraffic:   pulumi.String(\"enable\"),\n\t\t\tSsh:              pulumi.String(\"enable\"),\n\t\t\tVoip:             pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Filter;\nimport com.pulumi.fortios.log.FilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Filter(\"trname\", FilterArgs.builder()\n            .anomaly(\"enable\")\n            .dlpArchive(\"enable\")\n            .dns(\"enable\")\n            .filterType(\"include\")\n            .forwardTraffic(\"enable\")\n            .gtp(\"enable\")\n            .localTraffic(\"enable\")\n            .multicastTraffic(\"enable\")\n            .severity(\"information\")\n            .snifferTraffic(\"enable\")\n            .ssh(\"enable\")\n            .voip(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortianalyzer/v2:Filter\n    properties:\n      anomaly: enable\n      dlpArchive: enable\n      dns: enable\n      filterType: include\n      forwardTraffic: enable\n      gtp: enable\n      localTraffic: enable\n      multicastTraffic: enable\n      severity: information\n      snifferTraffic: enable\n      ssh: enable\n      voip: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortianalyzer2 Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v2/filter:Filter labelname LogFortianalyzer2Filter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v2/filter:Filter labelname LogFortianalyzer2Filter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer 2 log filter.\n",
          "language": {
            "csharp": {
              "name": "Definition"
            }
          }
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FFilterFreeStyle:FilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "severity": {
          "type": "string",
          "description": "Log every message above and including this severity level. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "anomaly",
        "dlpArchive",
        "dns",
        "filter",
        "filterType",
        "fortiSwitch",
        "forwardTraffic",
        "gtp",
        "localTraffic",
        "multicastTraffic",
        "netscanDiscovery",
        "netscanVulnerability",
        "severity",
        "snifferTraffic",
        "ssh",
        "vdomparam",
        "voip",
        "ztnaTraffic"
      ],
      "inputProperties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer 2 log filter.\n",
          "language": {
            "csharp": {
              "name": "Definition"
            }
          }
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FFilterFreeStyle:FilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "severity": {
          "type": "string",
          "description": "Log every message above and including this severity level. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Filter resources.\n",
        "properties": {
          "anomaly": {
            "type": "string",
            "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
          },
          "dlpArchive": {
            "type": "string",
            "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
          },
          "dns": {
            "type": "string",
            "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "filter": {
            "type": "string",
            "description": "FortiAnalyzer 2 log filter.\n",
            "language": {
              "csharp": {
                "name": "Definition"
              }
            }
          },
          "filterType": {
            "type": "string",
            "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
          },
          "fortiSwitch": {
            "type": "string",
            "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
          },
          "forwardTraffic": {
            "type": "string",
            "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "freeStyles": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FFilterFreeStyle:FilterFreeStyle"
            },
            "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gtp": {
            "type": "string",
            "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
          },
          "localTraffic": {
            "type": "string",
            "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "multicastTraffic": {
            "type": "string",
            "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "netscanDiscovery": {
            "type": "string",
            "description": "Enable/disable netscan discovery event logging.\n"
          },
          "netscanVulnerability": {
            "type": "string",
            "description": "Enable/disable netscan vulnerability event logging.\n"
          },
          "severity": {
            "type": "string",
            "description": "Log every message above and including this severity level. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "snifferTraffic": {
            "type": "string",
            "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "ssh": {
            "type": "string",
            "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "voip": {
            "type": "string",
            "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
          },
          "ztnaTraffic": {
            "type": "string",
            "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/v2/overridefilter:Overridefilter": {
      "description": "Override filters for FortiAnalyzer.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.fortianalyzer.v2.Overridefilter(\"trname\", {\n    anomaly: \"enable\",\n    dlpArchive: \"enable\",\n    dns: \"enable\",\n    filterType: \"include\",\n    forwardTraffic: \"enable\",\n    gtp: \"enable\",\n    localTraffic: \"enable\",\n    multicastTraffic: \"enable\",\n    severity: \"information\",\n    snifferTraffic: \"enable\",\n    ssh: \"enable\",\n    voip: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortianalyzer.v2.Overridefilter(\"trname\",\n    anomaly=\"enable\",\n    dlp_archive=\"enable\",\n    dns=\"enable\",\n    filter_type=\"include\",\n    forward_traffic=\"enable\",\n    gtp=\"enable\",\n    local_traffic=\"enable\",\n    multicast_traffic=\"enable\",\n    severity=\"information\",\n    sniffer_traffic=\"enable\",\n    ssh=\"enable\",\n    voip=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Fortianalyzer.V2.Overridefilter(\"trname\", new()\n    {\n        Anomaly = \"enable\",\n        DlpArchive = \"enable\",\n        Dns = \"enable\",\n        FilterType = \"include\",\n        ForwardTraffic = \"enable\",\n        Gtp = \"enable\",\n        LocalTraffic = \"enable\",\n        MulticastTraffic = \"enable\",\n        Severity = \"information\",\n        SnifferTraffic = \"enable\",\n        Ssh = \"enable\",\n        Voip = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewOverridefilter(ctx, \"trname\", &log.OverridefilterArgs{\n\t\t\tAnomaly:          pulumi.String(\"enable\"),\n\t\t\tDlpArchive:       pulumi.String(\"enable\"),\n\t\t\tDns:              pulumi.String(\"enable\"),\n\t\t\tFilterType:       pulumi.String(\"include\"),\n\t\t\tForwardTraffic:   pulumi.String(\"enable\"),\n\t\t\tGtp:              pulumi.String(\"enable\"),\n\t\t\tLocalTraffic:     pulumi.String(\"enable\"),\n\t\t\tMulticastTraffic: pulumi.String(\"enable\"),\n\t\t\tSeverity:         pulumi.String(\"information\"),\n\t\t\tSnifferTraffic:   pulumi.String(\"enable\"),\n\t\t\tSsh:              pulumi.String(\"enable\"),\n\t\t\tVoip:             pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Overridefilter;\nimport com.pulumi.fortios.log.OverridefilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Overridefilter(\"trname\", OverridefilterArgs.builder()\n            .anomaly(\"enable\")\n            .dlpArchive(\"enable\")\n            .dns(\"enable\")\n            .filterType(\"include\")\n            .forwardTraffic(\"enable\")\n            .gtp(\"enable\")\n            .localTraffic(\"enable\")\n            .multicastTraffic(\"enable\")\n            .severity(\"information\")\n            .snifferTraffic(\"enable\")\n            .ssh(\"enable\")\n            .voip(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortianalyzer/v2:Overridefilter\n    properties:\n      anomaly: enable\n      dlpArchive: enable\n      dns: enable\n      filterType: include\n      forwardTraffic: enable\n      gtp: enable\n      localTraffic: enable\n      multicastTraffic: enable\n      severity: information\n      snifferTraffic: enable\n      ssh: enable\n      voip: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortianalyzer2 OverrideFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v2/overridefilter:Overridefilter labelname LogFortianalyzer2OverrideFilter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v2/overridefilter:Overridefilter labelname LogFortianalyzer2OverrideFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer 2 log filter.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FOverridefilterFreeStyle:OverridefilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "severity": {
          "type": "string",
          "description": "Log every message above and including this severity level. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "anomaly",
        "dlpArchive",
        "dns",
        "filter",
        "filterType",
        "fortiSwitch",
        "forwardTraffic",
        "gtp",
        "localTraffic",
        "multicastTraffic",
        "netscanDiscovery",
        "netscanVulnerability",
        "severity",
        "snifferTraffic",
        "ssh",
        "vdomparam",
        "voip",
        "ztnaTraffic"
      ],
      "inputProperties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer 2 log filter.\n"
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FOverridefilterFreeStyle:OverridefilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "severity": {
          "type": "string",
          "description": "Log every message above and including this severity level. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Overridefilter resources.\n",
        "properties": {
          "anomaly": {
            "type": "string",
            "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
          },
          "dlpArchive": {
            "type": "string",
            "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
          },
          "dns": {
            "type": "string",
            "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "filter": {
            "type": "string",
            "description": "FortiAnalyzer 2 log filter.\n"
          },
          "filterType": {
            "type": "string",
            "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
          },
          "fortiSwitch": {
            "type": "string",
            "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
          },
          "forwardTraffic": {
            "type": "string",
            "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "freeStyles": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FOverridefilterFreeStyle:OverridefilterFreeStyle"
            },
            "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gtp": {
            "type": "string",
            "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
          },
          "localTraffic": {
            "type": "string",
            "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "multicastTraffic": {
            "type": "string",
            "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "netscanDiscovery": {
            "type": "string",
            "description": "Enable/disable netscan discovery event logging.\n"
          },
          "netscanVulnerability": {
            "type": "string",
            "description": "Enable/disable netscan vulnerability event logging.\n"
          },
          "severity": {
            "type": "string",
            "description": "Log every message above and including this severity level. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "snifferTraffic": {
            "type": "string",
            "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "ssh": {
            "type": "string",
            "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "voip": {
            "type": "string",
            "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
          },
          "ztnaTraffic": {
            "type": "string",
            "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/v2/overridesetting:Overridesetting": {
      "description": "Override FortiAnalyzer settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.fortianalyzer.v2.Overridesetting(\"trname\", {\n    __changeIp: 0,\n    connTimeout: 10,\n    encAlgorithm: \"high\",\n    fazType: 5,\n    hmacAlgorithm: \"sha256\",\n    ipsArchive: \"enable\",\n    monitorFailureRetryPeriod: 5,\n    monitorKeepalivePeriod: 5,\n    override: \"disable\",\n    reliable: \"disable\",\n    sslMinProtoVersion: \"default\",\n    status: \"disable\",\n    uploadInterval: \"daily\",\n    uploadOption: \"5-minute\",\n    uploadTime: \"00:59\",\n    useManagementVdom: \"disable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortianalyzer.v2.Overridesetting(\"trname\",\n    __change_ip=0,\n    conn_timeout=10,\n    enc_algorithm=\"high\",\n    faz_type=5,\n    hmac_algorithm=\"sha256\",\n    ips_archive=\"enable\",\n    monitor_failure_retry_period=5,\n    monitor_keepalive_period=5,\n    override=\"disable\",\n    reliable=\"disable\",\n    ssl_min_proto_version=\"default\",\n    status=\"disable\",\n    upload_interval=\"daily\",\n    upload_option=\"5-minute\",\n    upload_time=\"00:59\",\n    use_management_vdom=\"disable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Fortianalyzer.V2.Overridesetting(\"trname\", new()\n    {\n        __changeIp = 0,\n        ConnTimeout = 10,\n        EncAlgorithm = \"high\",\n        FazType = 5,\n        HmacAlgorithm = \"sha256\",\n        IpsArchive = \"enable\",\n        MonitorFailureRetryPeriod = 5,\n        MonitorKeepalivePeriod = 5,\n        Override = \"disable\",\n        Reliable = \"disable\",\n        SslMinProtoVersion = \"default\",\n        Status = \"disable\",\n        UploadInterval = \"daily\",\n        UploadOption = \"5-minute\",\n        UploadTime = \"00:59\",\n        UseManagementVdom = \"disable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewOverridesetting(ctx, \"trname\", &log.OverridesettingArgs{\n\t\t\t__changeIp:                pulumi.Int(0),\n\t\t\tConnTimeout:               pulumi.Int(10),\n\t\t\tEncAlgorithm:              pulumi.String(\"high\"),\n\t\t\tFazType:                   pulumi.Int(5),\n\t\t\tHmacAlgorithm:             pulumi.String(\"sha256\"),\n\t\t\tIpsArchive:                pulumi.String(\"enable\"),\n\t\t\tMonitorFailureRetryPeriod: pulumi.Int(5),\n\t\t\tMonitorKeepalivePeriod:    pulumi.Int(5),\n\t\t\tOverride:                  pulumi.String(\"disable\"),\n\t\t\tReliable:                  pulumi.String(\"disable\"),\n\t\t\tSslMinProtoVersion:        pulumi.String(\"default\"),\n\t\t\tStatus:                    pulumi.String(\"disable\"),\n\t\t\tUploadInterval:            pulumi.String(\"daily\"),\n\t\t\tUploadOption:              pulumi.String(\"5-minute\"),\n\t\t\tUploadTime:                pulumi.String(\"00:59\"),\n\t\t\tUseManagementVdom:         pulumi.String(\"disable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Overridesetting;\nimport com.pulumi.fortios.log.OverridesettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Overridesetting(\"trname\", OverridesettingArgs.builder()\n            .__changeIp(0)\n            .connTimeout(10)\n            .encAlgorithm(\"high\")\n            .fazType(5)\n            .hmacAlgorithm(\"sha256\")\n            .ipsArchive(\"enable\")\n            .monitorFailureRetryPeriod(5)\n            .monitorKeepalivePeriod(5)\n            .override(\"disable\")\n            .reliable(\"disable\")\n            .sslMinProtoVersion(\"default\")\n            .status(\"disable\")\n            .uploadInterval(\"daily\")\n            .uploadOption(\"5-minute\")\n            .uploadTime(\"00:59\")\n            .useManagementVdom(\"disable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortianalyzer/v2:Overridesetting\n    properties:\n      __changeIp: 0\n      connTimeout: 10\n      encAlgorithm: high\n      fazType: 5\n      hmacAlgorithm: sha256\n      ipsArchive: enable\n      monitorFailureRetryPeriod: 5\n      monitorKeepalivePeriod: 5\n      override: disable\n      reliable: disable\n      sslMinProtoVersion: default\n      status: disable\n      uploadInterval: daily\n      uploadOption: 5-minute\n      uploadTime: 00:59\n      useManagementVdom: disable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortianalyzer2 OverrideSetting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v2/overridesetting:Overridesetting labelname LogFortianalyzer2OverrideSetting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v2/overridesetting:Overridesetting labelname LogFortianalyzer2OverrideSetting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "__changeIp": {
          "type": "integer",
          "description": "Hidden attribute.\n"
        },
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "altServer": {
          "type": "string",
          "description": "Alternate FortiAnalyzer.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with FortiAnalyzer.\n"
        },
        "certificateVerification": {
          "type": "string",
          "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
        },
        "fallbackToPrimary": {
          "type": "string",
          "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
        },
        "fazType": {
          "type": "integer",
          "description": "Hidden setting index of FortiAnalyzer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hmacAlgorithm": {
          "type": "string",
          "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
        },
        "mgmtName": {
          "type": "string",
          "description": "Hidden management name of FortiAnalyzer.\n"
        },
        "monitorFailureRetryPeriod": {
          "type": "integer",
          "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
        },
        "monitorKeepalivePeriod": {
          "type": "integer",
          "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable overriding FortiAnalyzer settings or use global settings. Valid values: `enable`, `disable`.\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "reliable": {
          "type": "string",
          "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "serials": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FOverridesettingSerial:OverridesettingSerial"
          },
          "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
        },
        "server": {
          "type": "string",
          "description": "The remote FortiAnalyzer.\n"
        },
        "serverCertCa": {
          "type": "string",
          "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week (month) to upload logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time to upload logs (hh:mm).\n"
        },
        "useManagementVdom": {
          "type": "string",
          "description": "Enable/disable use of management VDOM IP address as source IP for logs sent to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "__changeIp",
        "accessConfig",
        "altServer",
        "certificate",
        "certificateVerification",
        "connTimeout",
        "encAlgorithm",
        "fallbackToPrimary",
        "fazType",
        "hmacAlgorithm",
        "interface",
        "interfaceSelectMethod",
        "ipsArchive",
        "maxLogRate",
        "mgmtName",
        "monitorFailureRetryPeriod",
        "monitorKeepalivePeriod",
        "override",
        "presharedKey",
        "priority",
        "reliable",
        "server",
        "serverCertCa",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "uploadDay",
        "uploadInterval",
        "uploadOption",
        "uploadTime",
        "useManagementVdom",
        "vdomparam"
      ],
      "inputProperties": {
        "__changeIp": {
          "type": "integer",
          "description": "Hidden attribute.\n"
        },
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "altServer": {
          "type": "string",
          "description": "Alternate FortiAnalyzer.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with FortiAnalyzer.\n"
        },
        "certificateVerification": {
          "type": "string",
          "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
        },
        "fallbackToPrimary": {
          "type": "string",
          "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
        },
        "fazType": {
          "type": "integer",
          "description": "Hidden setting index of FortiAnalyzer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hmacAlgorithm": {
          "type": "string",
          "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
        },
        "mgmtName": {
          "type": "string",
          "description": "Hidden management name of FortiAnalyzer.\n"
        },
        "monitorFailureRetryPeriod": {
          "type": "integer",
          "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
        },
        "monitorKeepalivePeriod": {
          "type": "integer",
          "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
        },
        "override": {
          "type": "string",
          "description": "Enable/disable overriding FortiAnalyzer settings or use global settings. Valid values: `enable`, `disable`.\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "reliable": {
          "type": "string",
          "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "serials": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FOverridesettingSerial:OverridesettingSerial"
          },
          "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
        },
        "server": {
          "type": "string",
          "description": "The remote FortiAnalyzer.\n"
        },
        "serverCertCa": {
          "type": "string",
          "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week (month) to upload logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time to upload logs (hh:mm).\n"
        },
        "useManagementVdom": {
          "type": "string",
          "description": "Enable/disable use of management VDOM IP address as source IP for logs sent to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Overridesetting resources.\n",
        "properties": {
          "__changeIp": {
            "type": "integer",
            "description": "Hidden attribute.\n"
          },
          "accessConfig": {
            "type": "string",
            "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
          },
          "altServer": {
            "type": "string",
            "description": "Alternate FortiAnalyzer.\n"
          },
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with FortiAnalyzer.\n"
          },
          "certificateVerification": {
            "type": "string",
            "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
          },
          "connTimeout": {
            "type": "integer",
            "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
          },
          "fallbackToPrimary": {
            "type": "string",
            "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
          },
          "fazType": {
            "type": "integer",
            "description": "Hidden setting index of FortiAnalyzer.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "hmacAlgorithm": {
            "type": "string",
            "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
          },
          "interface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "interfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "ipsArchive": {
            "type": "string",
            "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
          },
          "mgmtName": {
            "type": "string",
            "description": "Hidden management name of FortiAnalyzer.\n"
          },
          "monitorFailureRetryPeriod": {
            "type": "integer",
            "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
          },
          "monitorKeepalivePeriod": {
            "type": "integer",
            "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
          },
          "override": {
            "type": "string",
            "description": "Enable/disable overriding FortiAnalyzer settings or use global settings. Valid values: `enable`, `disable`.\n"
          },
          "presharedKey": {
            "type": "string",
            "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "reliable": {
            "type": "string",
            "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "serials": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FOverridesettingSerial:OverridesettingSerial"
            },
            "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
          },
          "server": {
            "type": "string",
            "description": "The remote FortiAnalyzer.\n"
          },
          "serverCertCa": {
            "type": "string",
            "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "uploadDay": {
            "type": "string",
            "description": "Day of week (month) to upload logs.\n"
          },
          "uploadInterval": {
            "type": "string",
            "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
          },
          "uploadOption": {
            "type": "string",
            "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
          },
          "uploadTime": {
            "type": "string",
            "description": "Time to upload logs (hh:mm).\n"
          },
          "useManagementVdom": {
            "type": "string",
            "description": "Enable/disable use of management VDOM IP address as source IP for logs sent to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/v2/setting:Setting": {
      "description": "Global FortiAnalyzer settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.fortianalyzer.v2.Setting(\"trname\", {\n    __changeIp: 0,\n    connTimeout: 10,\n    encAlgorithm: \"high\",\n    fazType: 2,\n    hmacAlgorithm: \"sha256\",\n    ipsArchive: \"enable\",\n    mgmtName: \"FGh_Log2\",\n    monitorFailureRetryPeriod: 5,\n    monitorKeepalivePeriod: 5,\n    reliable: \"disable\",\n    sslMinProtoVersion: \"default\",\n    status: \"disable\",\n    uploadInterval: \"daily\",\n    uploadOption: \"5-minute\",\n    uploadTime: \"00:59\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortianalyzer.v2.Setting(\"trname\",\n    __change_ip=0,\n    conn_timeout=10,\n    enc_algorithm=\"high\",\n    faz_type=2,\n    hmac_algorithm=\"sha256\",\n    ips_archive=\"enable\",\n    mgmt_name=\"FGh_Log2\",\n    monitor_failure_retry_period=5,\n    monitor_keepalive_period=5,\n    reliable=\"disable\",\n    ssl_min_proto_version=\"default\",\n    status=\"disable\",\n    upload_interval=\"daily\",\n    upload_option=\"5-minute\",\n    upload_time=\"00:59\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Fortianalyzer.V2.Setting(\"trname\", new()\n    {\n        __changeIp = 0,\n        ConnTimeout = 10,\n        EncAlgorithm = \"high\",\n        FazType = 2,\n        HmacAlgorithm = \"sha256\",\n        IpsArchive = \"enable\",\n        MgmtName = \"FGh_Log2\",\n        MonitorFailureRetryPeriod = 5,\n        MonitorKeepalivePeriod = 5,\n        Reliable = \"disable\",\n        SslMinProtoVersion = \"default\",\n        Status = \"disable\",\n        UploadInterval = \"daily\",\n        UploadOption = \"5-minute\",\n        UploadTime = \"00:59\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewSetting(ctx, \"trname\", &log.SettingArgs{\n\t\t\t__changeIp:                pulumi.Int(0),\n\t\t\tConnTimeout:               pulumi.Int(10),\n\t\t\tEncAlgorithm:              pulumi.String(\"high\"),\n\t\t\tFazType:                   pulumi.Int(2),\n\t\t\tHmacAlgorithm:             pulumi.String(\"sha256\"),\n\t\t\tIpsArchive:                pulumi.String(\"enable\"),\n\t\t\tMgmtName:                  pulumi.String(\"FGh_Log2\"),\n\t\t\tMonitorFailureRetryPeriod: pulumi.Int(5),\n\t\t\tMonitorKeepalivePeriod:    pulumi.Int(5),\n\t\t\tReliable:                  pulumi.String(\"disable\"),\n\t\t\tSslMinProtoVersion:        pulumi.String(\"default\"),\n\t\t\tStatus:                    pulumi.String(\"disable\"),\n\t\t\tUploadInterval:            pulumi.String(\"daily\"),\n\t\t\tUploadOption:              pulumi.String(\"5-minute\"),\n\t\t\tUploadTime:                pulumi.String(\"00:59\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Setting;\nimport com.pulumi.fortios.log.SettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Setting(\"trname\", SettingArgs.builder()\n            .__changeIp(0)\n            .connTimeout(10)\n            .encAlgorithm(\"high\")\n            .fazType(2)\n            .hmacAlgorithm(\"sha256\")\n            .ipsArchive(\"enable\")\n            .mgmtName(\"FGh_Log2\")\n            .monitorFailureRetryPeriod(5)\n            .monitorKeepalivePeriod(5)\n            .reliable(\"disable\")\n            .sslMinProtoVersion(\"default\")\n            .status(\"disable\")\n            .uploadInterval(\"daily\")\n            .uploadOption(\"5-minute\")\n            .uploadTime(\"00:59\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortianalyzer/v2:Setting\n    properties:\n      __changeIp: 0\n      connTimeout: 10\n      encAlgorithm: high\n      fazType: 2\n      hmacAlgorithm: sha256\n      ipsArchive: enable\n      mgmtName: FGh_Log2\n      monitorFailureRetryPeriod: 5\n      monitorKeepalivePeriod: 5\n      reliable: disable\n      sslMinProtoVersion: default\n      status: disable\n      uploadInterval: daily\n      uploadOption: 5-minute\n      uploadTime: 00:59\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortianalyzer2 Setting can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v2/setting:Setting labelname LogFortianalyzer2Setting\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v2/setting:Setting labelname LogFortianalyzer2Setting\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "__changeIp": {
          "type": "integer",
          "description": "Hidden attribute.\n"
        },
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "altServer": {
          "type": "string",
          "description": "Alternate FortiAnalyzer.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with FortiAnalyzer.\n"
        },
        "certificateVerification": {
          "type": "string",
          "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
        },
        "fallbackToPrimary": {
          "type": "string",
          "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
        },
        "fazType": {
          "type": "integer",
          "description": "Hidden setting index of FortiAnalyzer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hmacAlgorithm": {
          "type": "string",
          "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
        },
        "mgmtName": {
          "type": "string",
          "description": "Hidden management name of FortiAnalyzer.\n"
        },
        "monitorFailureRetryPeriod": {
          "type": "integer",
          "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
        },
        "monitorKeepalivePeriod": {
          "type": "integer",
          "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "reliable": {
          "type": "string",
          "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "serials": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FSettingSerial:SettingSerial"
          },
          "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
        },
        "server": {
          "type": "string",
          "description": "The remote FortiAnalyzer.\n"
        },
        "serverCertCa": {
          "type": "string",
          "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week (month) to upload logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time to upload logs (hh:mm).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        }
      },
      "type": "object",
      "required": [
        "__changeIp",
        "accessConfig",
        "altServer",
        "certificate",
        "certificateVerification",
        "connTimeout",
        "encAlgorithm",
        "fallbackToPrimary",
        "fazType",
        "hmacAlgorithm",
        "interface",
        "interfaceSelectMethod",
        "ipsArchive",
        "maxLogRate",
        "mgmtName",
        "monitorFailureRetryPeriod",
        "monitorKeepalivePeriod",
        "presharedKey",
        "priority",
        "reliable",
        "server",
        "serverCertCa",
        "sourceIp",
        "sslMinProtoVersion",
        "status",
        "uploadDay",
        "uploadInterval",
        "uploadOption",
        "uploadTime",
        "vdomparam"
      ],
      "inputProperties": {
        "__changeIp": {
          "type": "integer",
          "description": "Hidden attribute.\n"
        },
        "accessConfig": {
          "type": "string",
          "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
        },
        "altServer": {
          "type": "string",
          "description": "Alternate FortiAnalyzer.\n"
        },
        "certificate": {
          "type": "string",
          "description": "Certificate used to communicate with FortiAnalyzer.\n"
        },
        "certificateVerification": {
          "type": "string",
          "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
        },
        "connTimeout": {
          "type": "integer",
          "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "encAlgorithm": {
          "type": "string",
          "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
        },
        "fallbackToPrimary": {
          "type": "string",
          "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
        },
        "fazType": {
          "type": "integer",
          "description": "Hidden setting index of FortiAnalyzer.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "hmacAlgorithm": {
          "type": "string",
          "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
        },
        "interface": {
          "type": "string",
          "description": "Specify outgoing interface to reach server.\n"
        },
        "interfaceSelectMethod": {
          "type": "string",
          "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
        },
        "ipsArchive": {
          "type": "string",
          "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
        },
        "maxLogRate": {
          "type": "integer",
          "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
        },
        "mgmtName": {
          "type": "string",
          "description": "Hidden management name of FortiAnalyzer.\n"
        },
        "monitorFailureRetryPeriod": {
          "type": "integer",
          "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
        },
        "monitorKeepalivePeriod": {
          "type": "integer",
          "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
        },
        "presharedKey": {
          "type": "string",
          "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
        },
        "priority": {
          "type": "string",
          "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
        },
        "reliable": {
          "type": "string",
          "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "serials": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FSettingSerial:SettingSerial"
          },
          "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
        },
        "server": {
          "type": "string",
          "description": "The remote FortiAnalyzer.\n"
        },
        "serverCertCa": {
          "type": "string",
          "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
        },
        "sourceIp": {
          "type": "string",
          "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
        },
        "sslMinProtoVersion": {
          "type": "string",
          "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
        },
        "status": {
          "type": "string",
          "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
        },
        "uploadDay": {
          "type": "string",
          "description": "Day of week (month) to upload logs.\n"
        },
        "uploadInterval": {
          "type": "string",
          "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
        },
        "uploadOption": {
          "type": "string",
          "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
        },
        "uploadTime": {
          "type": "string",
          "description": "Time to upload logs (hh:mm).\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Setting resources.\n",
        "properties": {
          "__changeIp": {
            "type": "integer",
            "description": "Hidden attribute.\n"
          },
          "accessConfig": {
            "type": "string",
            "description": "Enable/disable FortiAnalyzer access to configuration and data. Valid values: `enable`, `disable`.\n"
          },
          "altServer": {
            "type": "string",
            "description": "Alternate FortiAnalyzer.\n"
          },
          "certificate": {
            "type": "string",
            "description": "Certificate used to communicate with FortiAnalyzer.\n"
          },
          "certificateVerification": {
            "type": "string",
            "description": "Enable/disable identity verification of FortiAnalyzer by use of certificate. Valid values: `enable`, `disable`.\n"
          },
          "connTimeout": {
            "type": "integer",
            "description": "FortiAnalyzer connection time-out in seconds (for status and log buffer).\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "encAlgorithm": {
            "type": "string",
            "description": "Enable/disable sending FortiAnalyzer log data with SSL encryption. Valid values: `high-medium`, `high`, `low`.\n"
          },
          "fallbackToPrimary": {
            "type": "string",
            "description": "Enable/disable this FortiGate unit to fallback to the primary FortiAnalyzer when it is available. Valid values: `enable`, `disable`.\n"
          },
          "fazType": {
            "type": "integer",
            "description": "Hidden setting index of FortiAnalyzer.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "hmacAlgorithm": {
            "type": "string",
            "description": "FortiAnalyzer IPsec tunnel HMAC algorithm.\n"
          },
          "interface": {
            "type": "string",
            "description": "Specify outgoing interface to reach server.\n"
          },
          "interfaceSelectMethod": {
            "type": "string",
            "description": "Specify how to select outgoing interface to reach server. Valid values: `auto`, `sdwan`, `specify`.\n"
          },
          "ipsArchive": {
            "type": "string",
            "description": "Enable/disable IPS packet archive logging. Valid values: `enable`, `disable`.\n"
          },
          "maxLogRate": {
            "type": "integer",
            "description": "FortiAnalyzer maximum log rate in MBps (0 = unlimited).\n"
          },
          "mgmtName": {
            "type": "string",
            "description": "Hidden management name of FortiAnalyzer.\n"
          },
          "monitorFailureRetryPeriod": {
            "type": "integer",
            "description": "Time between FortiAnalyzer connection retries in seconds (for status and log buffer).\n"
          },
          "monitorKeepalivePeriod": {
            "type": "integer",
            "description": "Time between OFTP keepalives in seconds (for status and log buffer).\n"
          },
          "presharedKey": {
            "type": "string",
            "description": "Preshared-key used for auto-authorization on FortiAnalyzer.\n"
          },
          "priority": {
            "type": "string",
            "description": "Set log transmission priority. Valid values: `default`, `low`.\n"
          },
          "reliable": {
            "type": "string",
            "description": "Enable/disable reliable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "serials": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv2%2FSettingSerial:SettingSerial"
            },
            "description": "Serial numbers of the FortiAnalyzer. The structure of `serial` block is documented below.\n"
          },
          "server": {
            "type": "string",
            "description": "The remote FortiAnalyzer.\n"
          },
          "serverCertCa": {
            "type": "string",
            "description": "Mandatory CA on FortiGate in certificate chain of server.\n"
          },
          "sourceIp": {
            "type": "string",
            "description": "Source IPv4 or IPv6 address used to communicate with FortiAnalyzer.\n"
          },
          "sslMinProtoVersion": {
            "type": "string",
            "description": "Minimum supported protocol version for SSL/TLS connections (default is to follow system global setting).\n"
          },
          "status": {
            "type": "string",
            "description": "Enable/disable logging to FortiAnalyzer. Valid values: `enable`, `disable`.\n"
          },
          "uploadDay": {
            "type": "string",
            "description": "Day of week (month) to upload logs.\n"
          },
          "uploadInterval": {
            "type": "string",
            "description": "Frequency to upload log files to FortiAnalyzer. Valid values: `daily`, `weekly`, `monthly`.\n"
          },
          "uploadOption": {
            "type": "string",
            "description": "Enable/disable logging to hard disk and then uploading to FortiAnalyzer. Valid values: `store-and-upload`, `realtime`, `1-minute`, `5-minute`.\n"
          },
          "uploadTime": {
            "type": "string",
            "description": "Time to upload logs (hh:mm).\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/v3/filter:Filter": {
      "description": "Filters for FortiAnalyzer.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.fortianalyzer.v3.Filter(\"trname\", {\n    anomaly: \"enable\",\n    dlpArchive: \"enable\",\n    dns: \"enable\",\n    filterType: \"include\",\n    forwardTraffic: \"enable\",\n    gtp: \"enable\",\n    localTraffic: \"enable\",\n    multicastTraffic: \"enable\",\n    severity: \"information\",\n    snifferTraffic: \"enable\",\n    ssh: \"enable\",\n    voip: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortianalyzer.v3.Filter(\"trname\",\n    anomaly=\"enable\",\n    dlp_archive=\"enable\",\n    dns=\"enable\",\n    filter_type=\"include\",\n    forward_traffic=\"enable\",\n    gtp=\"enable\",\n    local_traffic=\"enable\",\n    multicast_traffic=\"enable\",\n    severity=\"information\",\n    sniffer_traffic=\"enable\",\n    ssh=\"enable\",\n    voip=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Fortianalyzer.V3.Filter(\"trname\", new()\n    {\n        Anomaly = \"enable\",\n        DlpArchive = \"enable\",\n        Dns = \"enable\",\n        FilterType = \"include\",\n        ForwardTraffic = \"enable\",\n        Gtp = \"enable\",\n        LocalTraffic = \"enable\",\n        MulticastTraffic = \"enable\",\n        Severity = \"information\",\n        SnifferTraffic = \"enable\",\n        Ssh = \"enable\",\n        Voip = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewFilter(ctx, \"trname\", &log.FilterArgs{\n\t\t\tAnomaly:          pulumi.String(\"enable\"),\n\t\t\tDlpArchive:       pulumi.String(\"enable\"),\n\t\t\tDns:              pulumi.String(\"enable\"),\n\t\t\tFilterType:       pulumi.String(\"include\"),\n\t\t\tForwardTraffic:   pulumi.String(\"enable\"),\n\t\t\tGtp:              pulumi.String(\"enable\"),\n\t\t\tLocalTraffic:     pulumi.String(\"enable\"),\n\t\t\tMulticastTraffic: pulumi.String(\"enable\"),\n\t\t\tSeverity:         pulumi.String(\"information\"),\n\t\t\tSnifferTraffic:   pulumi.String(\"enable\"),\n\t\t\tSsh:              pulumi.String(\"enable\"),\n\t\t\tVoip:             pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Filter;\nimport com.pulumi.fortios.log.FilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Filter(\"trname\", FilterArgs.builder()\n            .anomaly(\"enable\")\n            .dlpArchive(\"enable\")\n            .dns(\"enable\")\n            .filterType(\"include\")\n            .forwardTraffic(\"enable\")\n            .gtp(\"enable\")\n            .localTraffic(\"enable\")\n            .multicastTraffic(\"enable\")\n            .severity(\"information\")\n            .snifferTraffic(\"enable\")\n            .ssh(\"enable\")\n            .voip(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortianalyzer/v3:Filter\n    properties:\n      anomaly: enable\n      dlpArchive: enable\n      dns: enable\n      filterType: include\n      forwardTraffic: enable\n      gtp: enable\n      localTraffic: enable\n      multicastTraffic: enable\n      severity: information\n      snifferTraffic: enable\n      ssh: enable\n      voip: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortianalyzer3 Filter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v3/filter:Filter labelname LogFortianalyzer3Filter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v3/filter:Filter labelname LogFortianalyzer3Filter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer 3 log filter.\n",
          "language": {
            "csharp": {
              "name": "Definition"
            }
          }
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv3%2FFilterFreeStyle:FilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n"
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "type": "object",
      "required": [
        "anomaly",
        "dlpArchive",
        "dns",
        "filter",
        "filterType",
        "fortiSwitch",
        "forwardTraffic",
        "gtp",
        "localTraffic",
        "multicastTraffic",
        "netscanDiscovery",
        "netscanVulnerability",
        "severity",
        "snifferTraffic",
        "ssh",
        "vdomparam",
        "voip",
        "ztnaTraffic"
      ],
      "inputProperties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": "string",
          "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
        },
        "dynamicSortSubtable": {
          "type": "string",
          "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
        },
        "filter": {
          "type": "string",
          "description": "FortiAnalyzer 3 log filter.\n",
          "language": {
            "csharp": {
              "name": "Definition"
            }
          }
        },
        "filterType": {
          "type": "string",
          "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
        },
        "fortiSwitch": {
          "type": "string",
          "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
        },
        "forwardTraffic": {
          "type": "string",
          "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "freeStyles": {
          "type": "array",
          "items": {
            "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv3%2FFilterFreeStyle:FilterFreeStyle"
          },
          "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
        },
        "getAllTables": {
          "type": "string",
          "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
        },
        "gtp": {
          "type": "string",
          "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
        },
        "localTraffic": {
          "type": "string",
          "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "multicastTraffic": {
          "type": "string",
          "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "netscanDiscovery": {
          "type": "string",
          "description": "Enable/disable netscan discovery event logging.\n"
        },
        "netscanVulnerability": {
          "type": "string",
          "description": "Enable/disable netscan vulnerability event logging.\n"
        },
        "severity": {
          "type": "string",
          "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
        },
        "snifferTraffic": {
          "type": "string",
          "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
        },
        "ssh": {
          "type": "string",
          "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
        },
        "vdomparam": {
          "type": "string",
          "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
          "willReplaceOnChanges": true
        },
        "voip": {
          "type": "string",
          "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
        },
        "ztnaTraffic": {
          "type": "string",
          "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Filter resources.\n",
        "properties": {
          "anomaly": {
            "type": "string",
            "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
          },
          "dlpArchive": {
            "type": "string",
            "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
          },
          "dns": {
            "type": "string",
            "description": "Enable/disable detailed DNS event logging. Valid values: `enable`, `disable`.\n"
          },
          "dynamicSortSubtable": {
            "type": "string",
            "description": "Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].\n"
          },
          "filter": {
            "type": "string",
            "description": "FortiAnalyzer 3 log filter.\n",
            "language": {
              "csharp": {
                "name": "Definition"
              }
            }
          },
          "filterType": {
            "type": "string",
            "description": "Include/exclude logs that match the filter. Valid values: `include`, `exclude`.\n"
          },
          "fortiSwitch": {
            "type": "string",
            "description": "Enable/disable Forti-Switch logging. Valid values: `enable`, `disable`.\n"
          },
          "forwardTraffic": {
            "type": "string",
            "description": "Enable/disable forward traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "freeStyles": {
            "type": "array",
            "items": {
              "$ref": "#/types/fortios:log%2Ffortianalyzer%2Fv3%2FFilterFreeStyle:FilterFreeStyle"
            },
            "description": "Free Style Filters The structure of `free_style` block is documented below.\n"
          },
          "getAllTables": {
            "type": "string",
            "description": "Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.\n"
          },
          "gtp": {
            "type": "string",
            "description": "Enable/disable GTP messages logging. Valid values: `enable`, `disable`.\n"
          },
          "localTraffic": {
            "type": "string",
            "description": "Enable/disable local in or out traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "multicastTraffic": {
            "type": "string",
            "description": "Enable/disable multicast traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "netscanDiscovery": {
            "type": "string",
            "description": "Enable/disable netscan discovery event logging.\n"
          },
          "netscanVulnerability": {
            "type": "string",
            "description": "Enable/disable netscan vulnerability event logging.\n"
          },
          "severity": {
            "type": "string",
            "description": "Lowest severity level to log. Valid values: `emergency`, `alert`, `critical`, `error`, `warning`, `notification`, `information`, `debug`.\n"
          },
          "snifferTraffic": {
            "type": "string",
            "description": "Enable/disable sniffer traffic logging. Valid values: `enable`, `disable`.\n"
          },
          "ssh": {
            "type": "string",
            "description": "Enable/disable SSH logging. Valid values: `enable`, `disable`.\n"
          },
          "vdomparam": {
            "type": "string",
            "description": "Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.\n",
            "willReplaceOnChanges": true
          },
          "voip": {
            "type": "string",
            "description": "Enable/disable VoIP logging. Valid values: `enable`, `disable`.\n"
          },
          "ztnaTraffic": {
            "type": "string",
            "description": "Enable/disable ztna traffic logging. Valid values: `enable`, `disable`.\n"
          }
        },
        "type": "object"
      }
    },
    "fortios:log/fortianalyzer/v3/overridefilter:Overridefilter": {
      "description": "Override filters for FortiAnalyzer.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fortios from \"@pulumiverse/fortios\";\n\nconst trname = new fortios.log.fortianalyzer.v3.Overridefilter(\"trname\", {\n    anomaly: \"enable\",\n    dlpArchive: \"enable\",\n    dns: \"enable\",\n    filterType: \"include\",\n    forwardTraffic: \"enable\",\n    gtp: \"enable\",\n    localTraffic: \"enable\",\n    multicastTraffic: \"enable\",\n    severity: \"information\",\n    snifferTraffic: \"enable\",\n    ssh: \"enable\",\n    voip: \"enable\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_fortios as fortios\n\ntrname = fortios.log.fortianalyzer.v3.Overridefilter(\"trname\",\n    anomaly=\"enable\",\n    dlp_archive=\"enable\",\n    dns=\"enable\",\n    filter_type=\"include\",\n    forward_traffic=\"enable\",\n    gtp=\"enable\",\n    local_traffic=\"enable\",\n    multicast_traffic=\"enable\",\n    severity=\"information\",\n    sniffer_traffic=\"enable\",\n    ssh=\"enable\",\n    voip=\"enable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Fortios = Pulumiverse.Fortios;\n\nreturn await Deployment.RunAsync(() => \n{\n    var trname = new Fortios.Log.Fortianalyzer.V3.Overridefilter(\"trname\", new()\n    {\n        Anomaly = \"enable\",\n        DlpArchive = \"enable\",\n        Dns = \"enable\",\n        FilterType = \"include\",\n        ForwardTraffic = \"enable\",\n        Gtp = \"enable\",\n        LocalTraffic = \"enable\",\n        MulticastTraffic = \"enable\",\n        Severity = \"information\",\n        SnifferTraffic = \"enable\",\n        Ssh = \"enable\",\n        Voip = \"enable\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/log\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := log.NewOverridefilter(ctx, \"trname\", &log.OverridefilterArgs{\n\t\t\tAnomaly:          pulumi.String(\"enable\"),\n\t\t\tDlpArchive:       pulumi.String(\"enable\"),\n\t\t\tDns:              pulumi.String(\"enable\"),\n\t\t\tFilterType:       pulumi.String(\"include\"),\n\t\t\tForwardTraffic:   pulumi.String(\"enable\"),\n\t\t\tGtp:              pulumi.String(\"enable\"),\n\t\t\tLocalTraffic:     pulumi.String(\"enable\"),\n\t\t\tMulticastTraffic: pulumi.String(\"enable\"),\n\t\t\tSeverity:         pulumi.String(\"information\"),\n\t\t\tSnifferTraffic:   pulumi.String(\"enable\"),\n\t\t\tSsh:              pulumi.String(\"enable\"),\n\t\t\tVoip:             pulumi.String(\"enable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.fortios.log.Overridefilter;\nimport com.pulumi.fortios.log.OverridefilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trname = new Overridefilter(\"trname\", OverridefilterArgs.builder()\n            .anomaly(\"enable\")\n            .dlpArchive(\"enable\")\n            .dns(\"enable\")\n            .filterType(\"include\")\n            .forwardTraffic(\"enable\")\n            .gtp(\"enable\")\n            .localTraffic(\"enable\")\n            .multicastTraffic(\"enable\")\n            .severity(\"information\")\n            .snifferTraffic(\"enable\")\n            .ssh(\"enable\")\n            .voip(\"enable\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trname:\n    type: fortios:log/fortianalyzer/v3:Overridefilter\n    properties:\n      anomaly: enable\n      dlpArchive: enable\n      dns: enable\n      filterType: include\n      forwardTraffic: enable\n      gtp: enable\n      localTraffic: enable\n      multicastTraffic: enable\n      severity: information\n      snifferTraffic: enable\n      ssh: enable\n      voip: enable\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLogFortianalyzer3 OverrideFilter can be imported using any of these accepted formats:\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v3/overridefilter:Overridefilter labelname LogFortianalyzer3OverrideFilter\n```\n\nIf you do not want to import arguments of block:\n\n$ export \"FORTIOS_IMPORT_TABLE\"=\"false\"\n\n```sh\n$ pulumi import fortios:log/fortianalyzer/v3/overridefilter:Overridefilter labelname LogFortianalyzer3OverrideFilter\n```\n\n$ unset \"FORTIOS_IMPORT_TABLE\"\n\n",
      "properties": {
        "anomaly": {
          "type": "string",
          "description": "Enable/disable anomaly logging. Valid values: `enable`, `disable`.\n"
        },
        "dlpArchive": {
          "type": "string",
          "description": "Enable/disable DLP archive logging. Valid values: `enable`, `disable`.\n"
        },
        "dns": {
          "type": 